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