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

.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.