XML 子軸プロパティ (Visual Basic)
XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、または XDocument オブジェクトのコレクションのいずれかの子にアクセスできます。
構文
object.<child>
指定項目
用語 | 定義 |
---|---|
object |
必須です。 XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、または XDocument オブジェクトのコレクションです。 |
.< | 必須です。 子軸プロパティの開始を示します。 |
child |
必須です。 アクセスする子ノードの名前です。[prefix:]name の形式で指定します。- Prefix - 省略可能。 子ノードの XML 名前空間プレフィックスです。 Imports ステートメントを使用して定義されているグローバル XML 名前空間を指定する必要があります。- Name - 必須。 ローカル子ノードの名前です。 「宣言する XML 要素と属性の名前」を参照してください。 |
> | 必須です。 子軸プロパティの終了を示します。 |
戻り値
XElement オブジェクトのコレクション。
Remarks
XML 子軸プロパティを使用すると、XElement オブジェクト、XDocument オブジェクト、XElement オブジェクトのコレクション、または XDocument オブジェクトのコレクションから子ノードに名前でアクセスできます。 返されるコレクションの最初の子ノードの値にアクセスするには、XML の Value
プロパティを使用します。 詳細については、「XML Value プロパティ」を参照してください。
Visual Basic コンパイラは、子軸プロパティを Elements メソッドの呼び出しに変換します。
XML 名前空間
子軸プロパティの名前では、Imports
ステートメントでグローバルに宣言されている XML 名前空間プレフィックスのみを使用できます。 XML 要素リテラル内でローカルに宣言されている XML 名前空間プレフィックスは使用できません。 詳細については、「Imports ステートメント (XML 名前空間)」を参照してください。
例 1
次の例は、contact
オブジェクトの phone
という名前の子ノードにアクセスする方法を示しています。
Dim contact As XElement =
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
<phone type="work">425-555-0145</phone>
</contact>
Dim homePhone = From hp In contact.<phone>
Where contact.<phone>.@type = "home"
Select hp
Console.WriteLine("Home Phone = {0}", homePhone(0).Value)
このコードを実行すると、次のテキストが表示されます。
Home Phone = 206-555-0144
例 2
次の例は、contacts
オブジェクトの contact
子軸プロパティによって返されたコレクションの、phone
という名前の子ノードにアクセスする方法を示しています。
Dim contacts As XElement =
<contacts>
<contact>
<name>Patrick Hines</name>
<phone type="home">206-555-0144</phone>
</contact>
<contact>
<name>Lance Tucker</name>
<phone type="work">425-555-0145</phone>
</contact>
</contacts>
Dim homePhone = From contact In contacts.<contact>
Where contact.<phone>.@type = "home"
Select contact.<phone>
Console.WriteLine("Home Phone = {0}", homePhone(0).Value)
このコードを実行すると、次のテキストが表示されます。
Home Phone = 206-555-0144
例 3
次の例では、ns
を名前空間プレフィックスとして宣言します。 その後、この名前空間のプレフィックスを使用して XML リテラルを作成し、修飾名 ns:name
を持つ最初の子ノードにアクセスします。
Imports <xmlns:ns = "http://SomeNamespace">
Class TestClass4
Shared Sub TestPrefix()
Dim contact = <ns:contact>
<ns:name>Patrick Hines</ns:name>
</ns:contact>
Console.WriteLine(contact.<ns:name>.Value)
End Sub
End Class
このコードを実行すると、次のテキストが表示されます。
Patrick Hines
関連項目
.NET