Những biểu thức XPath

Một phần của tài liệu Phần 3: Lập trình Cơ sở dữ liệu nâng cao với ADO.NET_Chương 14 (Trang 79 - 81)

Để tìm kiếm hay định hướng một file tài liệu XML bạn cung cấp một biểu thức cho XPath. Những biểu thức này làm việc bên trong một ngữ cảnh (a context), là nút hiện thời được truy cập bên trong file XML. Những cách thường sử dụng nhất về việc chỉ định ngữ cảnh được trình bày trong Bảng 16.3.

Bảng 16.3: sự chỉđịnh ngữ cảnh

Những ký tự Mô tả

/ Chỉ định nút gốc như ngữ cảnh. ./ Chỉ định nút hiện thời như ngữ cảnh. ../ Chỉ định nút cha mẹ như ngữ cảnh.

// Chỉ định toàn bộ tài liệu XML như ngữ cảnh.

.// Chỉ định toàn bộ tài liệu XML bắt đầu tại nút hiện thời như ngữ cảnh.

Chúng ta hãy xem xét một số ví dụ về biểu thức XPath . Ví dụ sau đây trả về những nút Customers: /NorthwindCustomers/Customers

Như bạn có thể thấy từ ví dụ này, bạn chỉ rõ đường dẫn xuống cấu trúc cây để chỉ rõ những nút, phân chia mỗi nút với một ký tự gạch chéo (/).

//Customers

Ví dụ kế tiếp trả về những nút Customers và tất cả các phần tử của chúng: /NorthwindCustomers/Customers/*

Ghi nhớ: dấu sao (*) chỉ định tất cả những phần tử

Ví dụ kế tiếp trả về chỉ phần tử CustomerID của những nút Customers : /NorthwindCustomers/Customers/CustomerID

Bạn có thể tìm thấy những phần tử trong một nút bởi việc chỉ định một sự tìm kiếm bên trong dấu ngoặc vuông []. Ví dụ sau đây trả về tất cả những phần tử của khách hàng có một CustomerID là ALFKI:

/NorthwindCustomers/Customers[CustomerID="ALFKI"]/*

Ví dụ sau đây trả về CompanyName của khách hàng với một CustomerID là ALFKI: /NorthwindCustomers/Customers[CustomerID="ALFKI"]/CompanyName

Bạn cũng có thể sử dụng những dấu ngoặc vuông để chỉ định chỉ số của một nút, bắt đầu tại chỉ số 1. Ví dụ sau đây trả lại nút đầu tiên Customers:

/NorthwindCustomers/Customers[1]

Bạn có thể sử dụng hàm last() để lấy nút cuối cùng. Ví dụ sau đây trả lại nút cuối cùng Customers: /NorthwindCustomers/Customers[last()]

Nếu file XML của bạn chứa những thuộc tính nhúng thay vì những phần tử để giữ những giá trị, thì biểu thức tìm kiếm XPath của bạn sẽ hơi khác nhau. Danh sách 16.8 cho thấy một file XML có tên

CustomersWithAttributes.xml sử dụng những thuộc tính này. Danh sách 16.8: CUSTOMERSWITHATTRIBUTES.XML

<NorthwindCustomers> <Customers CustomerID="ALFKI" CompanyName="Alfreds Futterkiste" PostalCode="12209" Country="Germany" Phone="030-0074321" /> <Customers CustomerID="ANATR"

CompanyName="Ana Trujillo Emparedados y helados" PostalCode="05021"

Country="Mexico" Phone="(5) 555-4729" />

</NorthwindCustomers>

Để truy cập một thuộc tính bạn đặt một ký tự (@) tại điểm bắt đầu của tên thuộc tính. ví dụ sau đây trả về thuộc tính CustomerID của những nút Customers:

/NorthwindCustomers/Customers/@CustomerID

Ví dụ kế tiếp trả về tất cả những thuộc tính của khách hàng với một CustomerID là ALFKI: /NorthwindCustomers/Customers[@CustomerID="ALFKI"]/*

Ví dụ sau đây trả về CompanyName của khách hàng với một CustomerID là ALFKI:

/NorthwindCustomers/Customers[@CustomerID="ALFKI"]/@CompanyName

Ghi nhớ: Tôi đã chỉ bàn đến những biểu thức XPath trong mục này. Bạn có thể sử dụng nhiều tóan tử toán học khác, những biểu thức đại số Boole và nhiều hơn nữa. Bạn có thể học nhiều hơn về XPath trong tài liệu sách trực tuyến của máy chủ phục vụ SQL và tại World Wide Web Consortium's (WC3) Web site tại www.w3.org; hãy tìm về XPath trong bảng mục lục.

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Phần 3: Lập trình Cơ sở dữ liệu nâng cao với ADO.NET_Chương 14 (Trang 79 - 81)