提供物件或物件集合中第一個專案之屬性值 XElement 的 XElement 存取權。
語法
object.@attribute
' -or-
object.@<attribute>
組件
object 必填。 物件 XElement 或物件的集合 XElement 。
.@ 必要。 表示屬性座標軸屬性的開頭。
< 選用。 表示在 Visual Basic 中不是有效識別符時 attribute ,屬性名稱的開頭。
attribute 必填。 要存取的屬性名稱,格式為 [prefix:]name。
| 部分 | 說明 |
|---|---|
prefix |
選擇性。 屬性的 XML 命名空間前置詞。 必須是使用 Imports 語句定義的全域 XML 命名空間。 |
name |
必須的。 本機屬性名稱。 請參閱 宣告的 XML 專案和屬性的名稱。 |
> 選用。 當 不是 Visual Basic 中的有效識別碼時 attribute ,表示屬性名稱的結尾。
傳回值
字串,包含的值 attribute。 如果屬性名稱不存在, Nothing 則會傳回 。
備註
您可以使用 XML 屬性軸屬性,依名稱從 XElement 物件或物件集合 XElement 中的第一個專案,存取屬性的值。 您可以依名稱擷取屬性值,或藉由指定 @ 識別子前面的新名稱,將新的屬性加入專案。
當您使用 @ 識別子參考 XML 屬性時,屬性值會以字串的形式傳回,而且您不需要明確指定 Value 屬性。
XML 屬性的命名規則與 Visual Basic 識別碼的命名規則不同。 若要存取名稱不是有效 Visual Basic 識別符的 XML 屬性,請將名稱括在角括弧 (< 和 >) 中。
XML 命名空間
屬性座標軸屬性中的名稱只能使用 語句全域宣告的 Imports XML 命名空間前置詞。 它無法使用 XML 專案常值內本機宣告的 XML 命名空間前置詞。 如需詳細資訊,請參閱 Imports 陳述式(XML 命名空間)。
範例 1
下列範例示範如何從名為 的 XML 元素集合中取得名為 typephone的 XML 屬性值。
' 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)
此程式代碼會顯示下列文字:
<phoneTypes>
<type>home</type>
<type>work</type>
</phoneTypes>
範例 2
下列範例示範如何將屬性新增至 對象的實例,以宣告方式建立 XML 元素的屬性,做為 XML 的 XElement 一部分。 屬性 type 是以宣告方式建立, owner 而且會以動態方式建立屬性。
Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"
Console.WriteLine(phone2)
此程式代碼會顯示下列文字:
<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>
範例 3
下列範例會使用角括號語法來取得名為 number-type的 XML 屬性值,這在 Visual Basic 中不是有效的標識符。
Dim phone As XElement =
<phone number-type=" work">425-555-0145</phone>
Console.WriteLine("Phone type: " & phone.@<number-type>)
此程式代碼會顯示下列文字:
Phone type: work
範例 4
下列範例會將 ns 宣告為 XML 命名空間前置詞。 然後,它會使用命名空間的前置詞來建立 XML 常值,並存取具有限定名稱 「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
此程式代碼會顯示下列文字:
Phone type: home