次の方法で共有


方法 : 単一の子要素を取得する (LINQ to XML)

更新 : November 2007

このトピックでは、子要素名を指定して単一の子要素を取得する方法について説明します。子要素の名前が既知であり、この名前を持つ要素が 1 つしか存在しない場合は、コレクションの代わりに 1 つの要素だけを取得する方が便利な場合があります。

Element メソッドは、指定された XName を持つ最初の子 XElement を返します。

Visual Basic で単一の子要素を取得する場合の一般的な方法は、XML プロパティを使用し、配列インデクサ表記を使用して最初の要素を取得する方法です。

使用例

Element メソッドの使用例を次に示します。この例では、po という名前の XML ツリーを受け取り、Comment という名前の最初の要素を検索します。

Visual Basic の例では、配列インデクサ表記を使用して単一の要素を取得しています。

この例では、「サンプル XML ファイル : 一般的な購買発注書 (LINQ to XML)」の XML ドキュメントを使用しています。

XElement po = XElement.Load("PurchaseOrder.xml");
XElement e = po.Element("DeliveryNotes");
Console.WriteLine(e);
Dim po As XElement = XElement.Load("PurchaseOrder.xml")
Dim e As XElement = po.<DeliveryNotes>(0)
Console.WriteLine(e)

この例では次の出力が生成されます。

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

上記と同じコードを使用して、名前空間内の XML から要素を取得する例を次に示します。詳細については、「XML 名前空間の使用」を参照してください。

この例では、「サンプル XML ファイル : 名前空間内の一般的な購買発注書」の XML ドキュメントを使用しています。

XElement po = XElement.Load("PurchaseOrderInNamespace.xml");
XNamespace aw = "https://www.adventure-works.com";
XElement e = po.Element(aw + "DeliveryNotes");
Console.WriteLine(e);
Imports <xmlns:aw="https://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim po As XElement = XElement.Load("PurchaseOrderInNamespace.xml")
        Dim e As XElement = po.<aw:DeliveryNotes>(0)
        Console.WriteLine(e)
    End Sub
End Module

この例では次の出力が生成されます。

<aw:DeliveryNotes xmlns:aw="https://www.adventure-works.com">Please leave packages in shed by driveway.</aw:DeliveryNotes>

参照

概念

LINQ to XML 軸