Nội dung Tổng quan về XML Cấu trúc một tài liệu XML Biễu diễn dữ liệu trong XML XPath XML trong lập trình với C#... XML là một hệ thống các luật dùng cho việc thiết kế các định dạng cho
Trang 1ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
GiáoViên: Ths NGUYỄN THỊ KIM PHỤNG
Database XML
Sinh Viên:
NGUYỄN TẤN PHƯƠNG -09520380
Đại Học Quốc Gia TP HCM
Đề Tài:
Trang 2Nội dung Tổng quan về XML
Cấu trúc một tài liệu XML Biễu diễn dữ liệu trong XML XPath
XML trong lập trình với C#
Trang 3Tổng quan về XML
XML (eXtensible Markup Language-Ngôn ngữ đánh dấu
mở rộng) được soạn ra bởi tổ chức W3C (World Wide Web
Consortium)
XML là một hệ thống các luật dùng cho việc thiết kế các định dạng cho văn bản để tạo ra các cấu trúc dữ liệu hữu dụng
Đơn vị cơ sở của XML là các ký tự, các ký tự này được kết hợp thành các chuỗi hợp lệ để tạo thành tài liệu XML
Mục đích của XML: giúp ta dễ dàng tạo dữ liệu, đọc dữ liệu
và chia sẽ dữ liệu
Trang 4Lợi ích
của XML
Lưu trữ dữ liệu
Trao đổi dữ liệu
Chia sẻ
dữ liệu
Làm
Dữ liệu
hữu
dụng
hơn
Tổng quan về XML
Trang 5Mỗi dữ liệu được lưu vào một phần tử (Element), mỗi phần tử bắt đầu bằng một thẻ mở <…> và kết thúc bằng một thẻ đóng </…>
=>VD: <IRIS> đá ngũ sắc </IRIS>
Thuộc tính (Attribute) của một phần tử phải được đặt bên trong của thẻ mở và nằm trong dấu “”
=> Ví dụ: < Item id = "1001" > … </ Item >
Node cao nhất trong file XML gọi là Node gốc.
Cấu trúc file XML
Trang 6< Order id="2004-01-30.195496" >
< Client id="ROS-930252034" >
< Name > Remarkable Office Supplies </ Name >
</ Client >
< Items >
< Item id="1001" >
< Name > Electronic Protractor </ Name >
< Price > 42.99 </ Price >
</ Item >
< Item id="1002" >
< Name > Invisible Ink </ Name >
< Price > 200.25 </ Price >
</ Item >
</ Items >
</ Order >
Ví dụ cho XPath
Trang 7Biểu diễn dữ liệu trong XML
Dữ liệu trong
XML phải:
Có cấu trúc đúng
(well-formed)
Tuân thủ các luật
lệ về :
Thẻ (Tag)
Phần tử
(Element)
Thuộc tính
(Attribute)
Có đầy đủ giá trị
(valid)
Trang 8Các quy tắc biểu diễn tài liệu XML
1. Phải có một Element gốc duy nhất, nó chứa tất
cả các phần tử khác trong tài liệu
<Sinh Vien>
<Ho-Ten> Nguyen Van A </Ho-Ten>
<Ngay-Sinh> 01/01/1991 </Ngay-Sinh>
</Sinh Vien>
2. Mỗi Element con phải nằm trọn bên trong cha của nó
< Sinh Vien >
</ Sinh Vien >
Trang 93 Mỗi Tag mở phải có một Tag đóng giống như
nó, đánh vần y như nhau và chữ hoa hay chữ
thường
<Ho-Ten> … </HoTen> //Sai
<Ngay-Sinh> … </Ngay-Sinh> //Đúng
4. Giá trị Attribute trong XML phải được gói giữa một cặp ngoặc
kép.
< Sinh Vien ID = “ 0234 ” > … </ Sinh Vien >
Các quy tắc biểu diễn tài liệu XML
Trang 10Bằng cách nào có thể xác định được giá trị của các
phần tử trong XML (hay “đi lại” trong XML) ???
SỬ DỤNG XPATH !!!
Xpath dùng để chỉ định đường dẫn (kí hiệu “ /”) đến Node
nào đó và trả về một hay một tập hợp các Node thỏa điều kiện yêu cầu
=>Ví dụ: /Order/Items/Item
Trang 11< Order id="2004-01-30.195496" >
< Client id="ROS-930252034" >
< Name > Remarkable Office Supplies </ Name >
</ Client >
< Items >
< Item id="1001" >
< Name > Electronic Protractor </ Name >
< Price > 42.99 </ Price >
</ Item >
< Item id="1002" >
< Name > Invisible Ink </ Name >
< Price > 200.25 </ Price >
</ Item >
</ Items >
</ Order >
Ví dụ cho XPath
Trang 12Biểu
Thức Mô Tả
/ /Order/Items
// //Item/Name
| /Order/Items/Item/Name|Order/Client/Name
[…] /Order/Items/Item[Price > 50]
Cú Pháp Của XPath
Trang 13Cú Pháp Của XPath
Biểu
Thức Mô Tả
starts-with /Order/Items/Item[starts-with(Name,"C")]
position /Order/Items/Item[position()=2]
* /Order/*
Trang 14XML trong lập trình với C#
Sử dụng Namespace: System.Xml
Các lớp chính làm việc với XML
XmlNode Miêu tả một nút đơn trong tài liệu XML Lớp này sẽ xử
lý nút được chọn XmlNode List Miêu tả một tập hợp nút trong tài liệu XML Lớp này sẽ
xử lý các nút được chọn XmlDocument Mở rộng của XmlNode Nó miêu tả toàn bộ, cho phép
điều hướng và xử lý tài liệu XML.
XmlDataDocument Mở rộng của XmlDocument Nó sẽ chứa dữ liệu được
tải từ file XML hoặc từ DataSet
Trang 15XML trong lập trình với C#
Các phương thức chính làm việc với XML như:
AppendChild()
CreateElement()
CreateAttribute()
InsertAfter()
InsertBefore()
Load()
Save()
SelectNodes()
SelectSingleNode()
Trang 16Database XML
Trang 17Database XML
CÁM ƠN !!!