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
関連項目
.NET