Bài giảng Đọc ghi XML DOM

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.

pdf25 trang | Chia sẻ: thanhle95 | Lượt xem: 531 | Lượt tải: 1download
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 