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.
25 trang |
Chia sẻ: thanhle95 | Lượt xem: 516 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng Đọc ghi XML DOM, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐỌ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 – ptsan@fit.hcmus.edu.vn
NỘI DUNG
Giới thiệu XML
Đọc, ghi XML
XML DOM
VÍ DỤ VỀ 1 TÀI LIỆU XML
Tove
Jani
Reminder
Don't forget me this weekend!
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
Tove
Jani
Reminder
Don't forget me this
weekend!
.....
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 + ("") + "\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 :
Element :
Element :
Element :
Element :
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
DocumentElement
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