如何:查找子元素 (XPath-LINQ to XML)

本主题将 XPath 子元素轴与 LINQ to XML Element 方法进行比较。

XPath 表达式为 DeliveryNotes。

示例

本示例查找子元素 DeliveryNotes。

本示例使用下面的 XML 文档:示例 XML 文件:多个采购订单 (LINQ to XML)

XDocument cpo = XDocument.Load("PurchaseOrders.xml");
XElement po = cpo.Root.Element("PurchaseOrder");

// LINQ to XML query
XElement el1 = po.Element("DeliveryNotes");

// XPath expression
XElement el2 = po.XPathSelectElement("DeliveryNotes");
// same as "child::DeliveryNotes"
// same as "./DeliveryNotes"

if (el1 == el2)
    Console.WriteLine("Results are identical");
else
    Console.WriteLine("Results differ");
Console.WriteLine(el1);
Dim cpo As XDocument = XDocument.Load("PurchaseOrders.xml")
Dim po As XElement = cpo.Root.<PurchaseOrder>.FirstOrDefault

'LINQ to XML query
Dim el1 As XElement = po.<DeliveryNotes>.FirstOrDefault

' XPath expression
Dim el2 As XElement = po.XPathSelectElement("DeliveryNotes")
' same as "child::DeliveryNotes"
' same as "./DeliveryNotes"

If el1 Is el2 Then
    Console.WriteLine("Results are identical")
Else
    Console.WriteLine("Results differ")
End If
Console.WriteLine(el1)

此示例产生以下输出:

Results are identical
<DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes>

请参见

概念

针对 XPath 用户的 LINQ to XML