Thao tác trên XML part 3 - Pdf 76


Sử dụng MSXML trong .NET
Sẽ ra sao nếu bạn có một tấn mã đã được phát triển bằng những phiên bản cổ xưa nhất
của Microsoft (Hiện tại là MSXML 4.0)? Bạn có phải bỏ đi tất cả khi chuyển qua dùng
.NET? Trong khi đó có gì tốt hơn khi sử dụng MSXML 4.0 DOM? Có nên chuyển sang
.NET ngay lập tức?
Câu trả lời là không. XML 4.0, 3.0 hoặc 2.0 có thể dùng trực tiếp trong các ứng dụng của
bạn. Trước tiên bạn thêm mộ
t tham chiếu đến msxml4. DLL trong giải pháp của bạn, bạn
có thể bắt đầu viết một vài mã.
Một vài ví dụ tiếp theo sẽ dùng books.xml như là nguồn dữ liệu. File này có thể
download từ web site Wrox ( />), nó cũng bao gồm các ví dụ khác
trong .NET SDK. File books.xml
là một thư viện sách ảo. Nó bao gồm thông tin về sách
như thể loại, tên tác giả, giá và số ISBN. Tất cả mã ví dụ trong chương này đều sẵn có
trong web site Wrox. Trong thứ tự thực thi các ví dụ, các file dữ liệu XML sẽ cần phải
nằm trong cây thư mục như sau:
/XMLChapter/Sample1
/XMLChapter/Sample2
/XMLChapter/Sample3
...
Thật vậy, bạn có thẻ gọi trực tiếp bất kì thứ gì bạn muốn, nhưng vị trí tương đối đóng mộ
t
vai trò quan trọng. Bạn cũng có thể sửa đổi các ví dụ ở bất kì điểm nào bạn muốn. Mã ví
dụ sẽ được giải thích để chỉ những dòng nào thay đổi nếu bạn muốn như vậy.
File books.xml
trong như thế này:
<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
<book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">

Một điều lưu ý là từ khi MSXML 4 trở thành một thành phần COM-based, chúng ta sẽ
cần phải tạo ra interop assembly. Cách dễ nhất là chọn Add Reference từ trình đơn
Project trong Visual Studio IDE. Đến tab COM và chọn Microsoft XML, v4.0 (or v3.0,
v2.6). Bạn sẽ thấy MSXML2 như một không gian tên được thêm vào Solution Explorer.
Tại sao lại là MSXML2? Khi bạn nhập một thành phần COM không gian tên được truyền
cho một assembly mới, là tên thư viện kiểu cho thành phần COM đó. Trong trường hợp
này nó là MSXML2. Nếu bạn dùng TLBIMP bạn có thể đổi không gian tên thành một cái
tên khác mà bạn muốn.
Nào bây giờ hày xem các dòng quan trọng từ mã ví dụ MSXML.
Chúng ta có một tham chiếu khi thêm dòng:
using MSXML2;
Chúng ta cũng có một biến cấp lớp.
private DOMDocument40 doc;
Bây giờ chúng ta đã sẵn sàng để dùng MSXML trong ví dụ của chúng ta.
Chúng ta muốn tạo một ISBN từ listbox, và sử dụng một tìm kiếm XPath đơn giản, tìm
mục sách nếu tìm thấy thì biếu diễn mục sách dưới dạng text (tựa sách và giá sách) trong
một MessageBox. XML Path Language (XPath) là một ghi chú XML được dùng cho truy
vấn và lọc văn bản trong một tài liệu XML. Chúng ta sẽ tìm hiểu kĩ cách dùng XPath
trong .NET sau.
Đây là một mã quản sự kiện cho việc chọn một mẫu từ
listbox:
protected void listBox1_SelectedIndexChanged (
object sender, System.EventArgs e)
{
string srch=listBox1.SelectedItem.ToString();
IXMLDOMNode nd=doc.selectSingleNode(
"bookstore/book[@ISBN='" + srch + "']");
MessageBox.Show(nd.text);
}
Giờ đây chúng ta sẽ xem xét sự kiện click của button. Trước tiên, chúng ta load file


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status