Właściwości osi atrybutu XML (Visual Basic)
Zapewnia dostęp do wartości atrybutu dla XElement obiektu lub pierwszego elementu w kolekcji XElement obiektów.
Składnia
object.@attribute
' -or-
object.@<attribute>
generatora
object
Wymagane. XElement Obiekt lub kolekcja XElement obiektów.
.@ Wymagane. Określa początek właściwości osi atrybutu.
< Opcjonalne. Określa początek nazwy atrybutu, gdy attribute
nie jest prawidłowym identyfikatorem w Visual Basic.
attribute
Wymagane. Nazwa atrybutu dostępu do formularza [prefix
:]name
.
Element | opis |
---|---|
prefix |
Opcjonalny. Prefiks przestrzeni nazw XML dla atrybutu. Musi być globalną przestrzenią nazw XML zdefiniowaną za pomocą instrukcji Imports . |
name |
Wymagany. Nazwa atrybutu lokalnego. Zobacz Nazwy zadeklarowanych elementów XML i atrybutów. |
> Opcjonalne. Określa koniec nazwy atrybutu, gdy attribute
nie jest prawidłowym identyfikatorem w Visual Basic.
Wartość zwracana
Ciąg zawierający wartość attribute
. Jeśli nazwa atrybutu nie istnieje, Nothing
zostanie zwrócona.
Uwagi
Za pomocą właściwości osi atrybutu XML można uzyskać dostęp do wartości atrybutu według nazwy z XElement obiektu lub z pierwszego elementu w kolekcji XElement obiektów. Wartość atrybutu można pobrać według nazwy lub dodać nowy atrybut do elementu, określając nową nazwę poprzedzoną identyfikatorem @.
W przypadku odwoływania się do atrybutu XML przy użyciu identyfikatora @ wartość atrybutu jest zwracana jako ciąg i nie trzeba jawnie określać Value właściwości.
Reguły nazewnictwa atrybutów XML różnią się od reguł nazewnictwa identyfikatorów języka Visual Basic. Aby uzyskać dostęp do atrybutu XML, który ma nazwę, która nie jest prawidłowym identyfikatorem języka Visual Basic, należy ująć nazwę w nawiasy kątowe (< i >).
Przestrzenie nazw XML
Nazwa we właściwości osi atrybutu może używać tylko prefiksów przestrzeni nazw XML zadeklarowanych globalnie przy użyciu instrukcji Imports
. Nie może używać prefiksów przestrzeni nazw XML zadeklarowanych lokalnie w literałach elementu XML. Aby uzyskać więcej informacji, zobacz Import Statement (XML Namespace).
Przykład 1
W poniższym przykładzie pokazano, jak pobrać wartości atrybutów XML o nazwie type
z kolekcji elementów XML o nazwie 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)
Ten kod wyświetla następujący tekst:
<phoneTypes>
<type>home</type>
<type>work</type>
</phoneTypes>
Przykład 2
W poniższym przykładzie pokazano, jak utworzyć atrybuty dla elementu XML zarówno deklaratywnie, jak i w ramach kodu XML, i dynamicznie przez dodanie atrybutu XElement do wystąpienia obiektu. Atrybut type
jest tworzony deklaratywnie, a owner
atrybut jest tworzony dynamicznie.
Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"
Console.WriteLine(phone2)
Ten kod wyświetla następujący tekst:
<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>
Przykład 3
W poniższym przykładzie użyto składni nawiasu kątowego, aby uzyskać wartość atrybutu XML o nazwie number-type
, który nie jest prawidłowym identyfikatorem w języku Visual Basic.
Dim phone As XElement =
<phone number-type=" work">425-555-0145</phone>
Console.WriteLine("Phone type: " & phone.@<number-type>)
Ten kod wyświetla następujący tekst:
Phone type: work
Przykład 4
Poniższy przykład deklaruje ns
jako prefiks przestrzeni nazw XML. Następnie używa prefiksu przestrzeni nazw, aby utworzyć literał XML i uzyskać dostęp do pierwszego węzła podrzędnego o kwalifikowanej nazwie "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
Ten kod wyświetla następujący tekst:
Phone type: home