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
こちらも参照ください
.NET