次の方法で共有


XML 子孫軸プロパティ (Visual Basic)

XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、またはXDocument オブジェクトのコレクションの子孫へのアクセスを提供します。

構文

object...<descendant>

部品

object 必須。 XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、またはXDocument オブジェクトのコレクション。

...< 必須。 子孫軸プロパティの先頭を示します。

descendant 必須。 [prefix:]name 形式の、アクセスする子孫ノードの名前。

部分 説明
prefix 任意。 子孫ノードの XML 名前空間プレフィックス。 Imports ステートメントを使用して定義されるグローバル XML 名前空間である必要があります。
name 必須。 子孫ノードのローカル名。 「宣言された XML 要素と属性の名前」を参照してください。

> 必須。 子孫軸プロパティの末尾を示します。

戻り値

XElement オブジェクトのコレクション。

注釈

XML 子孫軸プロパティを使用すると、 XElement または XDocument オブジェクトから、または XElement または XDocument オブジェクトのコレクションから、名前によって子孫ノードにアクセスできます。 XML Value プロパティを使用して、返されたコレクション内の最初の子孫ノードの値にアクセスします。 詳細については、「 XML 値プロパティ」を参照してください。

Visual Basic コンパイラは、子孫軸のプロパティを Descendants メソッドの呼び出しに変換します。

XML 名前空間

子孫軸プロパティの名前では、 Imports ステートメントでグローバルに宣言された XML 名前空間のみを使用できます。 XML 要素リテラル内でローカルに宣言された XML 名前空間を使用することはできません。 詳細については、「 Imports ステートメント (XML 名前空間)」を参照してください。

例 1

次の例は、nameという名前の最初の子孫ノードの値と、contacts オブジェクトからphoneという名前のすべての子孫ノードの値にアクセスする方法を示しています。

Dim contacts As XElement = 
    <contacts>
        <contact>
            <name>Patrick Hines</name>
            <phone type="home">206-555-0144</phone>
            <phone type="work">425-555-0145</phone>
        </contact>
    </contacts>

Console.WriteLine("Name: " & contacts...<name>.Value)

Dim homePhone = From phone In contacts...<phone> 
                Select phone.Value

Console.WriteLine("Home Phone = {0}", homePhone(0))

このコードでは、次のテキストが表示されます。

Name: Patrick Hines

Home Phone = 206-555-0144

例 2

次の例では、 ns を XML 名前空間プレフィックスとして宣言します。 その後、名前空間のプレフィックスを使用して XML リテラルを作成し、修飾名 ns:nameを持つ最初の子ノードの値にアクセスします。

Imports <xmlns:ns = "http://SomeNamespace"> 
 
Class TestClass2

    Shared Sub TestPrefix()
        Dim contacts = 
            <ns:contacts>
                <ns:contact>
                    <ns:name>Patrick Hines</ns:name>
                </ns:contact>
            </ns:contacts>

        Console.WriteLine("Name: " & contacts...<ns:name>.Value)
    End Sub

End Class

このコードでは、次のテキストが表示されます。

Name: Patrick Hines

こちらも参照ください