次の方法で共有


方法 : 子要素を検索する (XPath-LINQ to XML)

このトピックでは、XPath の子要素軸と LINQ to XML Element メソッドを比較します。

XPath 式は DeliveryNotes です。

使用例

この例では、DeliveryNotes 子要素を検索します。

この例では、「サンプル XML ファイル : 複数の購買発注書 (LINQ to XML)」の 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