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
và
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
và
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
.