Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Предоставляет доступ к значению атрибута для XElement объекта или к первому элементу в коллекции XElement объектов.
Синтаксис
object.@attribute
' -or-
object.@<attribute>
Комплектующие
object Обязательно.
XElement Объект или коллекция XElement объектов.
.@ Обязательный. Обозначает начало свойства оси атрибута.
< Необязательно. Обозначает начало имени атрибута, если attribute не является допустимым идентификатором в Visual Basic.
attribute Обязательно. Имя атрибута для доступа к форме [prefix:]name.
| Часть | Описание |
|---|---|
prefix |
Необязательно. Префикс пространства имен XML для атрибута. Должен быть глобальным пространством имен XML, определенным с помощью инструкции Imports . |
name |
Обязательное. Имя локального атрибута. См. имена объявленных XML-элементов и атрибутов. |
> Необязательно. Обозначает конец имени атрибута, если attribute не является допустимым идентификатором в Visual Basic.
Возвращаемое значение
Строка, содержащая значение attribute. Если имя атрибута не существует, Nothing возвращается.
Замечания
Свойство оси атрибута XML можно использовать для доступа к значению атрибута по имени объекта или из XElement первого элемента в коллекции XElement объектов. Можно получить значение атрибута по имени или добавить новый атрибут в элемент, указав новое имя перед идентификатором @.
При обращении к XML-атрибуту с помощью идентификатора @значение атрибута возвращается в виде строки, и не нужно явно указывать Value это свойство.
Правила именования атрибутов XML отличаются от правил именования для идентификаторов Visual Basic. Чтобы получить доступ к XML-атрибуту с именем, который не является допустимым идентификатором Visual Basic, заключите имя в угловые скобки (< и >).
Пространства имен XML
Имя в свойстве оси атрибута может использовать только префиксы пространства имен XML, объявленные глобально с помощью инструкции Imports . Не удается использовать префиксы пространства имен XML, объявленные локально в литералах элементов XML. Дополнительные сведения см. в разделе "Импорт" (пространство имен XML).
Пример 1
В следующем примере показано, как получить значения XML-атрибутов, именованных type из коллекции XML-элементов, именованных 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)
Этот код отображает следующий текст:
<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