173
Chương 5: XML
<Price>200.25</Price>
</Item>
</Items>
</Order>
Cú pháp của XPath sử dụng ký hiệu giống như đường dẫn. Ví dụ, đường dẫn
/Order/Items/Item
cho biết phần tử
<Item>
lồng bên trong phần tử
<Items>
, và phần tử
<Items>
lồng bên trong phần tử gốc
<Order>
. Ví dụ dưới đây sử dụng một đường dẫn tuyệt đối
để tìm tên của tất cả các item trong một đơn đặt hàng:
using System;
using System.Xml;
public class XPathSelectNodes {
private static void Main() {
// Nạp tài liệu.
XmlDocument doc = new XmlDocument();
doc.Load("orders.xml");
// Thu lấy tên của tất cả các item.
// Việc này không thể hoàn tất dễ dàng với phương thức
// GetElementsByTagName(), vì các phần tử Name được sử dụng
// bên trong các phần tử Item và các phần tử Client, và do đó
// cả hai kiểu này đều sẽ được trả về.
XmlNodeList nodes = doc.SelectNodes("/Order/Items/Item/Name");
foreach (XmlNode node in nodes) {
Console.WriteLine(node.InnerText);
}
Console.ReadLine();
}
}
Kết xuất của chương trỉnh này như sau:
Electronic Protractor
Invisible Ink
XPath cung cấp một cú pháp tìm kiếm mạnh. Do không thể giải thích tất cả các biến thể của
nó chỉ trong một mục ngắn như thế này, nên bảng 5.1 chỉ trình bày các phần chính trong một