XML 属性軸プロパティ (Visual Basic)XML Attribute Axis Property (Visual Basic)

属性の値にアクセスできるように、XElementオブジェクトまたは最初の要素のコレクションをXElementオブジェクト。Provides access to the value of an attribute for an XElement object or to the first element in a collection of XElement objects.

構文Syntax

      object.@attribute  
-or-  
object.@<attribute>  

指定項目Parts

object
必須。Required. XElementオブジェクトまたは一連のXElementオブジェクト。An XElement object or a collection of XElement objects.

.@.@
必須。Required. 属性軸プロパティの開始を示します。Denotes the start of an attribute axis property.

<
省略可能です。Optional. 属性の名前の先頭を示すときattributeVisual Basic では有効な識別子ではありません。Denotes the beginning of the name of the attribute when attribute is not a valid identifier in Visual Basic.

attribute
必須。Required. フォームにアクセスする属性の名前 [prefix:]nameします。Name of the attribute to access, of the form [prefix:]name.

パーツPart 説明Description
prefix 省略可能です。Optional. 属性の XML 名前空間プレフィックス。XML namespace prefix for the attribute. Imports ステートメントを使用して定義されているグローバル XML 名前空間を指定する必要があります。Must be a global XML namespace defined with an Imports statement.
name 必須。Required. 属性のローカル名。Local attribute name. 参照してください宣言する XML 要素と属性の名前します。See Names of Declared XML Elements and Attributes.

>
省略可能です。Optional. 属性の名前の終了を示すときattributeVisual Basic では有効な識別子ではありません。Denotes the end of the name of the attribute when attribute is not a valid identifier in Visual Basic.

戻り値Return Value

値を格納する文字列attributeします。A string that contains the value of attribute. 属性名が存在しない場合Nothingが返されます。If the attribute name does not exist, Nothing is returned.

RemarksRemarks

XML 属性軸プロパティを使用してから、名前によって属性の値にアクセスすることができます、XElementオブジェクトのコレクションの最初の要素からまたはXElementオブジェクト。You can use an XML attribute axis property to access the value of an attribute by name from an XElement object or from the first element in a collection of XElement objects. 名前、属性値を取得したり、前に新しい名前を指定することによって要素に新しい属性を追加、@ 識別子。You can retrieve an attribute value by name, or add a new attribute to an element by specifying a new name preceded by the @ identifier.

XML 属性を使用して参照するとき、文字列として @ 識別子、属性値が返され、明示的に指定する必要はありません、Valueプロパティ。When you refer to an XML attribute using the @ identifier, the attribute value is returned as a string and you do not need to explicitly specify the Value property.

XML 属性の名前付け規則は、Visual Basic 識別子の名前付け規則によって異なります。The naming rules for XML attributes differ from the naming rules for Visual Basic identifiers. 有効な Visual Basic 識別子ではない名前を持つ XML 属性にアクセスするには、山かっこで名前を囲む (<と >)。To access an XML attribute that has a name that is not a valid Visual Basic identifier, enclose the name in angle brackets (< and >).

XML 名前空間XML Namespaces

属性軸プロパティの名前を使用してグローバルに宣言されている XML 名前空間プレフィックスのみを使用できます、Importsステートメント。The name in an attribute axis property can use only XML namespace prefixes declared globally by using the Imports statement. XML 要素リテラル内でローカルに宣言されている XML 名前空間プレフィックスは使用できません。It cannot use XML namespace prefixes declared locally within XML element literals. 詳細については、次を参照してください。 Imports ステートメント (XML Namespace)します。For more information, see Imports Statement (XML Namespace).

Example

次の例は、XML 属性の名前付きの値を取得する方法を示しますtypeという名前の XML 要素のコレクションからphoneします。The following example shows how to get the values of the XML attributes named type from a collection of XML elements that are named phone.

' Topic: XML Attribute Axis Property
Dim phones As XElement = 
    <phones>
        <phone type="home">206-555-0144</phone>
        <phone type="work">425-555-0145</phone>
    </phones>

Dim phoneTypes As XElement = 
  <phoneTypes>
      <%= From phone In phones.<phone> 
          Select <type><%= phone.@type %></type> 
      %>
  </phoneTypes>

Console.WriteLine(phoneTypes)

このコードを実行すると、次のテキストが表示されます。This code displays the following text:

<phoneTypes>

<type>home</type>

<type>work</type>

</phoneTypes>

Example

次の例は、ここでは、XML の動的なのインスタンスに属性を追加することでとの一部として、両方の XML 要素の属性を作成する方法を示します、XElementオブジェクト。The following example shows how to create attributes for an XML element both declaratively, as part of the XML, and dynamically by adding an attribute to an instance of an XElement object. type属性を宣言によって作成およびowner属性が動的に作成されます。The type attribute is created declaratively and the owner attribute is created dynamically.

Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"

Console.WriteLine(phone2)

このコードを実行すると、次のテキストが表示されます。This code displays the following text:

<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>  

Example

次の例では、山かっこ構文を使用してという名前の XML 属性の値を取得number-type、Visual Basic では、有効な識別子ではないです。The following example uses the angle bracket syntax to get the value of the XML attribute named number-type, which is not a valid identifier in Visual Basic.

Dim phone As XElement = 
     <phone number-type=" work">425-555-0145</phone>

 Console.WriteLine("Phone type: " & phone.@<number-type>)

このコードを実行すると、次のテキストが表示されます。This code displays the following text:

Phone type: work

Example

次の例では、ns を名前空間プレフィックスとして宣言します。The following example declares ns as an XML namespace prefix. XML リテラルを作成し、修飾名を持つ最初の子ノードにアクセスする次の名前空間のプレフィックスを使用して"ns:name"。It then uses the prefix of the namespace to create an XML literal and access the first child node with the qualified name "ns:name".

Imports <xmlns:ns = "http://SomeNamespace"> 
 
Class TestClass3

    Shared Sub TestPrefix()
        Dim phone = 
            <ns:phone ns:type="home">206-555-0144</ns:phone>

        Console.WriteLine("Phone type: " & phone.@ns:type)
    End Sub

End Class

このコードを実行すると、次のテキストが表示されます。This code displays the following text:

Phone type: home

関連項目See also