Và để bắt đầu làm việc với XML, mình sẽ hướng dẫn các bạn hiển thị cấu trúc và nội dung của một tài liệu XML.
Giải pháp: Nạp tài liệu XML bằng lớp System.Xml.XmlDocument. Sau đó, viết một phương thức để chuyển một XmlNode thành một System.Windows.Forms.TreeNode, rồi gọi nó một cách đệ quy để duyệt qua toàn bộ tài liệu.
.NET Framework cung cấp nhiều cách khác nhau để xử lý các tài liệu XML. Cách mà bạn sử dụng tùy thuộc vào tác vụ cần lập trình. Một trong số đó là lớp XmlDocument. Lớp này cung cấp một dạng biểu diễn trong-bộ-nhớ cho một tài liệu XML, tuân theo W3C Document Object Model (DOM); cho phép bạn duyệt qua các nút theo bất kỳ hướng nào, chèn và loại bỏ nút, và thay đổi động cấu trúc lúc chạy. Bạn hãy vào [http://www.w3c.org] để biết thêm chi tiết về DOM.
Để sử dụng lớp XmlDocument, bạn chỉ việc tạo một thể hiện của lớp này rồi gọi phương thức Load cùng với một tên file, một Stream, một TextReader, hay một XmlReader (bạn cũng có thể cung cấp một URL chỉ đến một tài liệu XML). Thể hiện XmlDocument sẽ chứa tất cả các nút (dạng cây) có trong tài liệu nguồn. Điểm nhập (entry point) dùng để truy xuất các nút này là phần tử gốc, được cấp thông qua thuộc tính XmlDocument.DocumentElement. Đây là một đối tượng XmlElement, có thể chứa nhiều đối tượng XmlNode lồng bên trong, các đối tượng này có thể chứa nhiều đối tượng XmlNode nữa, và cứ tiếp tục như thế. Một XmlNode là phần cấu thành cơ bản của một file XML. Một nút XML có thể là một phần tử (element), một đặc tính (attribute), lời chú thích, hay text.
Khi làm việc với XmlNode hay một lớp dẫn xuất từ đó (như XmlElement hay XmlAttribute),
bạn có thể sử dụng các thuộc tính cơ bản sau đây:
· ChildNodes là tập hợp các nút lồng bên trong ở mức đầu tiên.
· Name là tên của nút.
· NodeType là một thành viên thuộc kiểu liệt kê System.Xml.XmlNodeType, cho biết kiểu của nút (phần tử, đặc tính, text...).
· Value là nội dung của nút, nếu đó là nút text hay nút CDATA.
· Attributes là tập hợp các nút mô tả các đặc tính được áp dụng cho phần tử.
· InnerText là chuỗi chứa giá trị (text) của nút hiện hành và tất cả các nút lồng bên trong.
· InnerXml là chuỗi chứa thẻ đánh dấu XML cho tất cả các nút lồng bên trong.
· OuterXml là chuỗi chứa thẻ đánh dấu XML cho nút hiện hành và tất cả các nút lồng bên trong.
Ví dụ dưới đây duyệt qua tất cả các nút của một XmlDocument (bằng thuộc tính ChildNodes và một phương thức đệ quy) rồi hiển thị chúng trong một TreeView.
Xét file XML dưới đây (ProductCatalog.xml):
Để hiểu rõ hơn, các bạn có thể vào đọc ebook ở địa chỉ sau:
http://www.hoang.name.vn/2015/12/giao-trinh-cshap-7-bo-ebook-cshap-tieng-viet.html
No comments:
Post a Comment