DOM & SAX
XMLDocument
XML & ADO.NET
DOM là gì ?
The W3C Document Object Model (DOM) is a platform and languageneutral interface that allows programs and scripts to dynamically
access and update the content, structure, and style of a document
DOM là gì ?
Core DOM
XML DOM
HTML DOM
DOM được chia gồm 3 phần riêng biệt :
Là tập đối tượng thao tác với tài liệu có cấu trúc, XML, HTML
31 trang |
Chia sẻ: candy98 | Lượt xem: 802 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng DOM & SAX XML & ADO.NET - Phạm Anh Phương, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
DOM & SAX
XML & ADO.NET
GVTH: Phạm Anh Phương
Email : paphuong@fit.hcmuns.edu.vn
Thời gian
20 minutes
Tham khảo
Websites :
Thư viện MSDN
Ebooks :
1/ The.Book.of.SAX-The.Simple.API.for.XML.pdf
2/ MS.Press.Applied.XML.Programming.For.Microsoft.Dot.NET.eBook-
LiB.chm
Mục lục
DOM & SAX
XML & ADO.NET
XMLDocument
DOM
DOM là gì ?
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
Interface
DOM là gì ?
Core DOM
XML DOM
HTML DOM
DOM được chia gồm 3 phần riêng biệt :
Là tập đối tượng thao tác với tài liệu có cấu trúc, XML, HTML
>
DOM
XML Parser HTML Parser
(.NET, .JAVA,..) (IE 6, Firefox, ..)
XXX Parser
DOM là gì ?
DOM xem tài liệu XML
như 1 cây có cấu trúc
Tất cả Element,
Attribute, Text đều có
thể truy xuất (thêm, xóa
và sửa)
Element, Attribute, Text
được xem là Node
Tài liệu XML là 1 Node
Tree
XML DOM là gì ?
Phuong
Anh
Pham
middle
Name
first
last
Phuong
Anh
Pham
Một cây gồm nhiều node dùng để thể hiện
1 tài liệu XML và sự kết nối giữa chúng
- Trong cây, node cao nhất gọi là root
- Mỗi node, trừ root ra có chính xác 1 node
cha
- Một node có nhiều node con
- Node lá là node không có node con
- Siblings là những node có cùng cấp với
node cha
Node Tree
Để đọ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
XML DOM Parser
XML DOM Parser
XML DOM API
Duyệt các nodes :
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
Root Element :
Element :
Element :
Element :
Element :
parentNode
lastChild
nextSibling
previousSibling
firstChild
Thao tác các Node:
- getElementsByTagName
- getElmentById
- getNamedItem
- setAttribute
- getAttribute
- removeChild
- removeAttribute
- replaceChild
- ..
XML DOM API
SAX
SAX (Simple API for XML)
Performance và Memory không bị ảnh
hưởng cho dù thao tác với tài liệu XML có
dung lượng lớn
Event-Driven API
SAX
SAX
Xử lý dữ liệu ngay khi Parser chưa xử lý
tòan bộ tài liệu XML (Khác so với DOM)
Dữ liệu sau khi được parse sẽ gửi đến
Client Program thông qua các hàm
Notification Method; dữ liệu này sau đó
bị xóa
SAX
SAX được hỗ trợ trong JAVA nhưng chưa
có trong .NET
Khuyết điểm:
- Developer phải tạo cấu trúc lưu trữ thông tin
riêng vì dữ liệu gửi về từ parser sẽ tự động mất
sau khi đến Notification Method
- SAX không phù hợp đối với các ứng dụng truy
xuất ngẫu nhiên và thực hiện chỉnh sửa phức
tạp
SAX
XMLDocument
Là đối tượng dùng để thao tác với tài liệu
XML trong .NET
Namespace : System.Xml
XMLDocument
XMLDocument
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
XMLDocument
Đọc và lưu
Lấy Root Element :
XMLDocument
Xóa Node
XMLDocument
Thêm Node
XML & ADO.NET
Đối tượng : DataSet
Ý nghĩa : Một Database nhưng được lưu trong
memory
Thao tác :
- Tạo mối quan hệ giữa các bảng
- Thêm, xóa, sửa các record trong bảng
Với XML :
- Ghi dữ liệu thành file XML
- Đọc dữ liệu từ file XML và nạp lại vào DataSet
XML & ADO.NET
Một số phương thức :
- GetXml
- GetXmlSchema
- WriteXml
- ReadXml
- WriteXmlSchema
- ReadXmlSchema
XML & ADO.NET
Minh họa :
XML & ADO.NET
Hỏi & Đáp
Cảm ơn