次の方法で共有


XML 値プロパティ (Visual Basic)

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

構文

object.Value

部品

任期 定義
object 必須。 XElement オブジェクトのコレクション。

戻り値

コレクションの最初の要素の値を格納している String 。コレクションが空の場合は Nothing

注釈

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

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

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

継承

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

Value プロパティは、IEnumerable(Of XElement)を実装する型の拡張プロパティです。 この拡張プロパティのバインドは、拡張メソッドのバインドに似ています。型がインターフェイスの 1 つを実装し、"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

こちらも参照ください