次の方法で共有


XML Value プロパティ (Visual Basic)

XElement オブジェクト コレクションの最初の要素の値にアクセスできるようにします。

構文

object.Value

指定項目

用語 定義
object 必須です。 XElement オブジェクトのコレクション。

戻り値

コレクションの最初の要素の値を含む String、または Nothing (コレクションが空の場合)。

Remarks

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

注意

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

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

継承

ユーザーのほとんどが IEnumerable<T> を実装する必要がないため、このセクションは無視できます。

Value プロパティは、IEnumerable(Of XElement) を実装する型の拡張プロパティです。 この拡張プロパティのバインディングは、拡張メソッドのバインディングと似ています。つまり、いずれかのインターフェイスが型で実装され、"Value" という名前のプロパティが定義されていると、そのプロパティは拡張プロパティよりも優先されます。 言い換えると、この Value プロパティは、IEnumerable(Of XElement) を実装するクラスで新しいプロパティを定義してオーバーライドできます。

例 1

次の例は、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

例 2

次の例は、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

関連項目