1. TỔNG
QUAN VỀ XML
1.1.
GIỚI THIỆU XML
- XML (Extensible Markup Language) – một loại cơ
sở dữ liệu dạng cây, được xây dựng bằng các tag giống HTML
-
Là một thành phần quan trọng trong các tiến trình trao đổi dữ liệu
-
Có thể xem xét một nguồn XML từ nhiều khía cạnh:
+
Một file text;
+
Một cấu trúc cây (tree);
+ Một tập các bảng dữ
liệu.
1.2. TẠO
XML DOCUMENT TRÊN VS.NET
-
Chọn thư mục trên cửa sổ Solution Explorer
-
Chọn Add New Item… từ menu Project
-
Chọn Data trên cây Categories
-
Chọn XML File trên danh mục Templates
-
Nhập tên XML Document vào ô Name
1.3. XML FILE
XMLFile1.xml
1.4. ĐỌC MỘT FILE XML
Đoạn code này cho một bảng với các giá trị ở
trang sau
Đọc
Attribute của một Element
1.5.
GHI MỘT FILE XML
Sử dụng class XmlTextWriter
Hàm
WriteSanPham
Kết quả
của hàm WriteTo
2. XML
DOCUMENT
-
Là cấu trúc cây của file xml
- Xét
file Catalog1.xml
Có thể sử dụng các đối tượng XmlNode để đọc dữ liệu từ
XmlDocument
Ví
dụ: Đọc giá trị của các node dùng danh sách ChildNodes
Ví
dụ: Đọc giá trị của các node dùng FirstChild và NextSibling
Kết
quả sau khi nhấn nút “Button”
3. MÔ
HÌNH DATA CỦA XML DOCUMENT
3.1.
CLASS XMLDATADOCUMENT
-
Được kế thừa từ XmlDocument
- Có
thêm thuộc tính DataSet
3.2.
XML SCHEMA
-
Là lược đồ dữ liệu của Xml Document
- Ví
dụ schema của file Catalog1.xml:
font-size:12.0pt;font-family:"Tahoma","sans-serif"'>
- Có
thêm thuộc tính DataSet
Ý nghĩa của các tag:
<xs:element name="Catalog">
Tên
của DataSet
<xs:element maxOccurs="unbounded" name="SanPham">
DataTable
“SanPham”
<xs:element name="SanPhamID" type="xs:unsignedByte" />
DataColumn
“SanPhamID” có kiểu là unsignedByte.
3.3. ĐỌC
DỮ LIỆU TỪ FILE XML
Có thể đọc dữ liệu từ
file .xml vào DataSet của XmlDataDocument theo các bước sau:
-
Tạo một reader kiểu FileStream (hoặc XmlTextReader) để đọc dữ liệu từ file .xml
-
Gọi hàm ReadXmlSchema để đọc schema của file .xml
-
Gọi hàm Load của XmlDataDocument để đọc dữ liệu từ reader
- Đóng
reader
t;font-family:"Courier New"'>"unbounded" name="SanPham">
DataTable
“SanPham”
<xs:element name="SanPhamID" type="xs:unsignedByte" />
DataColumn
“SanPhamID” có kiểu là unsignedByte.
3.4.
TRUY VẤN DỮ LIỆU
Có thể đọc dữ liệu từ
file .xml theo một điều kiện nào đó bằng các đối tượng
XPathDocument
và XPathNavigator (XPath namespace) theo các bước sau:
-
Tạo đối tượng XPathDocument để mở file .xml
-
Dùng hàm CreateNavigator của XPathDocument để
tạo đối tượng XmlPathNavigator
-
Dùng hàm Select của XPathNavigator để tạo ra
một đối tượng XPathNodeIterator
+ Tham số của hàm
Select là đường dẫn đến các node cần đọc kèm theo các điều kiện;
+ Dùng hàm MoveNext() của XPathNodeIterator để chuyển dần đến
từng node. Khi chạy đến cuối danh sách hàm cho giá trị false;
+ Dùng
thuộc tính Current của XPathNodeIterator để
lấy node hiện tại.
Ví
dụ: Đọc các node TenSanPham thuộc Loai=“TV” và cho hiện tên của chúng lên
Responce
3.5. MÔ HÌNH CSDL QUAN HỆ
Xét
file Catalog2.xml
- Khi tạo schema của file Catalog2.xml, một khóa mới với
tên LoaiSP_Id sẽ được sinh ra và được điền vào bảng LoaiSP làm khóa chính (PK)
và vào bảng SanPham làm khóa ngoại lai (FK)
- Mô
hình thực thể liên kết thể hiện trên DataSet Editor của VS.2008
4.
TƯƠNG TÁC GIỮA XML VÀ DATASE
Ghi một XML Document
từ truy vấn Database
-
Dùng phương thức WriteXml của DataSet để ghi dữ
liệu vào file .xml trên server
- Dùng phương thức WriteXmlSchema
của DataSet để ghi schema vào file .xsd trên server
- Ví
dụ:
Đọc dữ liệu từ một
XML Document vào DataSet:
-
Dùng phương thức ReadXml của DataSet để đọc dữ
liệu từ file .xml trên server.
- Dùng phương thức ReadXmlSchema
của DataSet để đọc schema từ file .xsd trên server.
- Ví
dụ:
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
Không có nhận xét nào:
Đăng nhận xét