XML Value プロパティ

更新 : 2007 年 11 月

XElement オブジェクトのコレクションの最初の要素の値へのアクセスを提供します。

object.Value

指定項目

  • object
    必ず指定します。XElement オブジェクトのコレクションです。

戻り値

コレクションの最初の要素の値を含む String。コレクションが空の場合は Nothing です。

解説

Value プロパティを使用すると、XElement オブジェクトのコレクションの最初の要素の値に簡単にアクセスできます。このプロパティは、コレクションに少なくとも 1 つのオブジェクトが含まれているかどうかを最初にチェックします。コレクションが空の場合、このプロパティは Nothing を返します。それ以外の場合、このプロパティは、コレクションの最初の要素の Value プロパティの値を返します。

メモ :

'@' 識別子を使用してXML 属性の値にアクセスすると、属性値は String として返され、Value プロパティを明示的に指定する必要はありません。

コレクションの他の要素にアクセスするには、XML 拡張インデクサ プロパティを使用できます。詳細については、「拡張インデクサ プロパティ」を参照してください。

継承

ほとんどのユーザーは 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

参照

概念

拡張メソッド (Visual Basic)

参照

XElement

IEnumerable<T>

拡張インデクサ プロパティ

XML 子軸プロパティ

XML 属性軸プロパティ

その他の技術情報

XML 軸プロパティ

XML リテラル

Visual Basic での XML の作成