XML Value プロパティ (Visual Basic)
XElement オブジェクトのコレクションの最初の要素の値へのアクセスを提供します。
object.Value
指定項目
語句 |
定義 |
object |
必ず指定します。XElement オブジェクトのコレクションです。 |
戻り値
コレクションの最初の要素の値を含む String。コレクションが空の場合は Nothing です。
解説
Value プロパティを使用すると、XElement オブジェクトのコレクションの最初の要素の値に簡単にアクセスできます。このプロパティは、コレクションに少なくとも 1 つのオブジェクトが含まれているかどうかを最初にチェックします。コレクションが空の場合、このプロパティは Nothing を返します。それ以外の場合、このプロパティは、コレクションの最初の要素の Value プロパティの値を返します。
[!メモ]
'@' 識別子を使用してXML 属性の値にアクセスすると、属性値は String として返され、Value プロパティを明示的に指定する必要はありません。
コレクションの他の要素にアクセスするには、XML 拡張インデクサー プロパティを使用できます。詳細については、「拡張インデクサー プロパティ (Visual Basic)」を参照してください。
継承
ほとんどのユーザーは IEnumerable<T> を実装する必要がないので、このセクションは無視してもかまいません。
Value プロパティは、IEnumerable(Of XElement) を実装する型の拡張プロパティです。この拡張プロパティのバインディングは、拡張メソッドのバインディングに似ています。型がいずれかのインターフェイスを実装し、"Value" という名前のプロパティを定義した場合、そのプロパティが拡張プロパティに優先します。つまり、この Value プロパティは、IEnumerable(Of XElement) を実装するクラスに新しいプロパティを定義することによってオーバーライドできます。
使用例
次の例は、Value プロパティを使用して XElement オブジェクトのコレクションの最初のノードにアクセスする方法を示しています。この例では、子軸プロパティを使用して、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>
Console.WriteLine("Phone number: " & contact.<phone>.Value)
このコードは、次のテキストを表示します。
Phone number: 206-555-0144
次の例は、XAttribute オブジェクトのコレクションから XML 属性の値を取得する方法を示しています。この例では、属性軸プロパティを使用して、すべての phone 要素の type 属性の値を表示します。
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 types = contact.<phone>.Attributes("type")
For Each attr In types
Console.WriteLine(attr.Value)
Next
このコードは、次のテキストを表示します。
home
work