CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 174

174
Chương 5: XML

biểu thức XPath và các ví dụ mô tả cách làm việc của chúng với tài liệu XML ở trên. Để hiểu
chi tiết hơn, bạn hãy tham khảo tài liệu W3C XPath tại

[

http://www.w3.org/TR/xpath]

.

Bảng 5.1 Cú pháp của biểu thức XPath

Biểu thức

Mô tả

/

Bắt đầu một đường dẫn tuyệt đối (chọn từ nút gốc).

/Order/Items/Item

chọn tất cả các phần tử

Item

là con của một phần tử

Items

, mà bản thân

Items

là con của phần tử gốc

Order

.

//

Bắt đầu một đường dẫn tương đối (chọn nút bất cứ đâu).

//Item/Name

chọn tất cả các phần tử

Name

là con của một phần tử

Item

, bất

chấp chúng xuất hiện ở đâu trong tài liệu.

@

Chọn một đặc tính của một nút.

/Order/@id

chọn đặc tính có tên là

id

từ phần tử gốc

Order

.

*

Chọn bất cứ phần tử nào trong đường dẫn.

/Order/*

chọn nút

Items

Client

vì cả hai đều nằm trong phần tử gốc

Order

.

|

Kết hợp nhiều đường dẫn.

/Order/Items/Item/Name|Order/Client/Name

chọn các nút

Name

dùng để

mô tả một

Client

và các nút

Name

dùng để mô tả một

Item

.

.

Cho biết nút (mặc định) hiện hành.
Nếu nút hiện hành là một

Order

, biểu thức

./Items

chỉ đến các item liên

quan với đơn đặt hàng đó.

..

Cho biết nút cha.

//Name/..

chọn phần tử là cha của một

Name

, gồm các phần tử

Client

Item

.

[ ]

Định nghĩa tiêu chuẩn chọn lựa (selection criteria), có thể kiểm tra giá trị
của một nút bên trong hay của một đặc tính.

/Order[@id="2004-01-30.195496"]

chọn các phần tử

Order

với giá trị đặc

tính cho trước.

/Order/Items/Item[Price > 50]

chọn các sản phẩm có giá trên $50.

/Order/Items/Item[Price > 50 and Name="Laser Printer"]

chọn các sản

phẩm trùng khớp với cả hai tiêu chuẩn.

starts-with

Hàm này thu lấy các phần tử dựa vào phần text khởi đầu của phần tử nằm
bên trong.

/Order/Items/Item[starts-with(Name,"C")]

tìm tất cả các phần tử

Item

có phần tử

Name

bắt đầu bằng mẫu tự

C

.