XML 子孫軸プロパティ (Visual Basic)
XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、または XDocument オブジェクトのコレクションの子孫にアクセスできるようにします。
構文
object...<descendant>
指定項目
object
必須。 XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、または XDocument オブジェクトのコレクションです。
...<
必須。 子孫軸プロパティの開始を示します。
descendant
必須。 アクセスする子孫ノードの名前です。[prefix:]name
の形式で指定します。
パーツ | 説明 |
---|---|
prefix |
任意。 子孫ノードの XML 名前空間プレフィックスです。 Imports ステートメントを使用して定義されているグローバル XML 名前空間にする必要があります。 |
name |
必須です。 子孫ノードのローカル名。 「宣言する XML 要素と属性の名前」を参照してください。 |
>
必須。 子孫軸プロパティの終了を示します。
戻り値
XElement オブジェクトのコレクション。
Remarks
XML 子孫軸プロパティを使用すると、XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、または XDocument オブジェクトのコレクションから子孫ノードに名前でアクセスできます。 返されるコレクションの最初の子孫ノードの値にアクセスするには、XML の Value
プロパティを使用します。 詳細については、「XML Value プロパティ」を参照してください。
Visual Basic コンパイラによって、子孫軸プロパティが Descendants メソッドの呼び出しに変換されます。
XML 名前空間
子孫軸プロパティの名前では、Imports
ステートメントでグローバルに宣言されている XML 名前空間のみを使用できます。 XML 要素リテラル内でローカルに宣言されている XML 名前空間は使用できません。 詳細については、「Imports ステートメント (XML 名前空間)」を参照してください。
例 1
次の例は、contacts
オブジェクトから、name
という名前の最初の子孫ノードの値と、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 リテラルを作成し、修飾名 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