Proprietà axis attributo XML
Aggiornamento: novembre 2007
Fornisce accesso al valore di un attributo per un oggetto XElement o per il primo elemento in un insieme di oggetti XElement.
object.@attribute
-or-
object.@<attribute>
Parti
object
Obbligatorio. Un oggetto XElement o un insieme di oggetti XElement..@
Obbligatorio. Indica l'inizio di una proprietà axis attributo.<
Facoltativo. Indica l'inizio del nome dell'attributo quando attribute non è un identificatore valido in Visual Basic.attribute
Obbligatorio. Nome dell'attributo a cui accedere, nel formato [prefix]name.Part
Descrizione
prefix
Facoltativo Prefisso dello spazio dei nomi XML per l'attributo. Deve essere uno spazio dei nomi XML globale definito utilizzando un'istruzione Imports.
name
Obbligatorio. Nome di attributo locale Vedere Nomi dichiarati di elementi e attributi XML.
>
Facoltativo. Indica la fine del nome di attributo quando attribute non è un identificatore valido in Visual Basic.
Valore restituito
Stringa contenente il valore dell'attributo.
Note
È possibile utilizzare una proprietà axis attributo XML per accedere al valore di un attributo in base al nome da un oggetto XElement o dal primo elemento in un insieme di oggetti XElement. È possibile recuperare un valore dell'attributo in base al nome o aggiungere un nuovo attributo a un elemento specificando un nuovo nome preceduto dall'identificatore @.
Quando viene fatto riferimento a un attributo XML utilizzando l'identificatore @, il valore dell'attributo viene restituito come una stringa e non è necessario specificare in modo esplicito la proprietà Value.
Le regole di denominazione per gli attributi XML sono diverse dalle regole di denominazione per gli identificatori Visual Basic. Per accedere a un attributo XML che ha un nome che non è un identificatore valido di Visual Basic, includere il nome tra parentesi angolari (< e >).
Spazi dei nomi XML
Il nome in una proprietà axis attributo può utilizzare solo prefisso degli spazi dei nomi XML dichiarati globalmente con l'istruzione Imports. Non può utilizzare prefissi degli spazi dei nomi XML dichiarati localmente all'interno di valori letterali dell'elemento XML. Per ulteriori informazioni, vedere Istruzione Imports (spazio dei nomi XML).
Esempio
Nell'esempio seguente viene mostrato come ottenere i valori degli attributi XML denominati type da un insieme di elementi XML denominati 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)
Verrà visualizzato il seguente testo:
<phoneTypes>
<type>home</type>
<type>work</type>
</phoneTypes>
Nell'esempio seguente viene illustrato come creare attributi per un elemento XML, sia in modo dichiarativo come parte dell'XML che dinamicamente aggiungendo un attributo a un'istanza di un oggetto XElement. L'attributo di type viene creato in modo dichiarativo e l'attributo owne viene creato dinamicamente.
Dim phone2 As XElement = <phone type="home">206-555-0144</phone>
phone2.@owner = "Harris, Phyllis"
Console.WriteLine(phone2)
Verrà visualizzato il seguente testo:
<phone type="home" owner="Harris, Phyllis">206-555-0144</phone>
Nell'esempio seguente viene utilizzata la sintassi della parentesi angolari per ottenere il valore dell'attributo XML denominato number-type, che non è un identificatore valido in Visual Basic.
Dim phone As XElement = _
<phone number-type=" work">425-555-0145</phone>
Console.WriteLine("Phone type: " & phone.@<number-type>)
Verrà visualizzato il seguente testo:
Phone type: work
Nell'esempio riportato di seguito viene dichiarato ns come un prefisso dello spazio dei nomi XML. Viene quindi utilizzato il prefisso dello spazio dei nomi per creare un valore letterale XML e accedere al primo nodo figlio con il nome completo "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
Verrà visualizzato il seguente testo:
Phone type: home
Vedere anche
Concetti
Nomi dichiarati di elementi e attributi XML