Tải bản đầy đủ (.pdf) (25 trang)

Giáo án - Bài giảng: ĐỌC GHI XML DOM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (539.16 KB, 25 trang )

ĐỌC GHI XML
DOM
Môn: XML và ứng dụng
GVLT: Thầy Nguyễn Tiến Huy
Trình bày: Phạm Tú San –
NỘI DUNG
 Giới thiệu XML
 Đọc, ghi XML
 XML DOM

VÍ DỤ VỀ 1 TÀI LIỆU XML
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
XML LÀ GÌ?
 Là eXtensible Markup Language.
 Là ngôn ngữ đánh dấu tương tự như HTML
 Do World Wide Web Consortium (W3C) để
nghị.
 Được thiết kế để chứa hoặc truyền dữ liệu
 Đặc biệt là các hệ thống kết nối Internet
 Các tags không được định nghĩa trước.
NỘI DUNG TÀI LIỆU XML
 Nội dung chính:
 Hệ thống các thẻ đánh dấu tương ứng với các
thông tin cần biểu diễn
 Có một node gốc


 XML tree
<?xml version="1.0"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this
weekend!</body>
</note>
<root>
<child>
<subchild> </subchild>
</child>
</root>

NỘI DUNG
 Giới thiệu XML
 Đọc, ghi XML
 XML DOM

ĐỌC XML
Open
Read
Close
String path = “MyXMLFile.xml”;
XmlTextReader xmlr = new XmlTextReader(path);
xmlr.Close();
xmlr.Read();
xmlr.Name
xmlr.Value

xmlr.NodeType == XmlNodeType.*
xmlr.HasAttributes
xmlr. AttributeCount
xmlr.GetAttribute(i)


ĐỌC XML
 Read(): đọc node tiếp theo ở trong file
 NodeType: thuộc tính chỉ loại node
 XmlNodeType.Text: node chỉ chứa nội dung.
 XmlNodeType.Comment: node comment
 XmlNodeType.Element: node có các thuộc tính,
node con.
 GetAttribute(<>): có thể truyền vào thứ tự
hoặc truyền vào tên thuộc tính


ĐỌC XML
XmlTextReader r = new XmlTextReader(XMLFileName);
String ss = "";
while (r.Read())
{
if (r.NodeType == XmlNodeType.Element)
{
ss = ss + ("<" + r.Name + ">") + "\n";
if (r.HasAttributes)
{
for (int i = 0; i < r.AttributeCount; i++)
{
ss=ss+("\tATTRIBUTE: " +r.GetAttribute(i)) + "\n";

}
}
}
else if (r.NodeType == XmlNodeType.Text)
{
ss = ss + ("\tVALUE: " + r.Value) + "\n";
}
}
MessageBox.Show(ss);
r.Close();
GHI XML
Open
Write
Close
String path = “MyXMLFile.xml”;
XmlTextWriter xmlw = new XmlTextWriter(path
Encoding.Unicode);
xmlw.Close();
xmlw.WriteStartDocument();
xmlw.WriteEndDocument()
xmlw.WriteStartElement(“name”);
xmlw.WriteEndElement();

xmlw.WriteAttributeString("id", “value")
xmlw.WriteElementString(“name", “value");
xmlw.WriteComment(“comment");

NỘI DUNG
 Giới thiệu XML

 Đọc, ghi XML
 DOM

DOM
 Document Object Model
 Chuẩn do tổ chức W3C đề ra để truy xuất các
tài liệu (XML, HTML,…)
 “The W3C Document Object Model (DOM) is a
platform and language-neutral interface that
allows programs and scripts to dynamically
access and update the content, structure, and
style of a document”
 Gồm 3 phần riêng biệt:
 Core DOM– cho tài liệu có cấu trúc
 XML DOM – tài liệu XML
 HTML DOM – tài liệu HTML






XMLDOM
 XML DOM định nghĩa 1 chuẩn để truy xuất
và thao tác trên tài liệu XML
 Độc lập ngôn ngữ và nền tảng
 Định nghĩa ra các đối tượng (object) và
thuộc tính (property) của các thành phần
XML và các phương thức để truy xuất đến
chúng



XML DOM NODE
 Với mô hình DOM, mọi thứ trong tài liệu
XML đều được xem là node
 Toàn bộ tài liệu: Document Node
 Thẻ: Element Node
 Text: Text Node
 Thuộc tính: Attribute Node
 Ghi chú: Comment Node
 Toàn bộ tài liệu XML: node – tree
VÍ DỤ
NODE TREE
Root Element :
< Bookstore>
Element :
< book >
Element :
< book >
Element :
< book >
Element :
< book >
parentNode
lastChild
nextSibling
previousSibling
firstChild
 Node gốc được gọi là
root

 Trừ root thì mọi node
đều có 1 node parent
 Một node có thể có
nhiều node con
 Node lá không có con
 Sibling là node có
chung parent node
XML DOM PARSER
 Để đọc, cập nhật, tạo và thao tác 1 tài liệu
XML ta cần 1 XML Parser
 Có nhiều XML Parser được hỗ trợ trong hầu
hết các ngôn ngữ (JAVA, JavaScript, .NET,
)
 Parser nạp tài liệu XML vào trong bộ nhớ
máy tính và được xem dưới dạng cây Node
 Sau đó, dữ liệu được thao tác và xử lý
thông qua tập hàm XML DOM API
XMLDOCUMENT
 Là đối tượng để thao tác tài liệu XML trong
.NET
 Namespace: System.Xml
XMLDOCUMENT
 Các thuộc tính cơ bản
Thuộc tính
Document
Element
ParentNode, ChildNodes

FirstChild,
LastChild

PreviousSibling,
NextSibling
InnerText
, InnerHTML
CÁC PHƯƠNG THỨC CƠ BẢN
Tên hàm (Thuộc tính) Ý nghĩa
Load Nạp tài liệu XML
Save Ghi tài liệu XML
InsertBefore, InsertAfter
PrependChild, AppendChild
RemoveChild, ReplaceChild,
RemoveAll
Phương thức truy cập node
NodeChanging, NodeChanged
NodeInserting, NodeInserted
NodeRemoving, NodeRemoved
Xử lý sự kiện thông qua các delegate
FirstChild, LastChild
ChildNodes, NextSibling,
PreviousSibling, ParentNode
Thao tác duyệt node
 Đọc và lưu
 Lấy Root Element :
CÁC THAO TÁC CƠ BẢN
 Xóa node
CÁC THAO TÁC CƠ BẢN
Thêm Node
CÁC THAO TÁC CƠ BẢN
THAM KHẢO
 Slide XML của

 Thầy Lưu Huỳnh Châu Pha
 Thầy Trương Phước Lộc
 Thầy Hồ Tuấn Thanh


×