Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Literal, das ein XElement Objekt darstellt.
Syntax
<name [ attributeList ] />
-or-
<name [ attributeList ] > [ elementContents ] </[ name ]>
Bestandteile
<Erforderlich. Öffnet das Startelementtag.
nameErforderlich. Name des Elements. Das Format ist eine der folgenden:
Literaltext für den Elementnamen des Formulars
[ePrefix:]eName, wobei:Teil BESCHREIBUNG ePrefixWahlfrei. XML-Namespacepräfix für das Element. Muss ein globaler XML-Namespace sein, der mit einer ImportsAnweisung in der Datei oder auf Projektebene oder einem lokalen XML-Namespace definiert ist, der in diesem Element oder einem übergeordneten Element definiert ist.eNameErforderlich. Name des Elements. Das Format ist eine der folgenden:
- Literaltext. Siehe Namen deklarierter XML-Elemente und -Attribute.
- Eingebetteter Ausdruck des Formulars<%= eNameExp %>. Der Typ musseNameExpoder ein Typ seinString, der implizit in XName.Eingebetteter Ausdruck des Formulars
<%= nameExp %>. Der Typ mussnameExpoder ein Typ implizit konvertierbar seinString.XName Ein eingebetteter Ausdruck ist in einem schließenden Tag eines Elements nicht zulässig.
attributeListWahlfrei. Liste der im Literal deklarierten Attribute.
attribute [ attribute ... ]Jede
attributeweist eine der folgenden Syntaxen auf:Attributzuweisung des Formulars
[aPrefix:]aName=aValue, wobei:Teil BESCHREIBUNG aPrefixWahlfrei. XML-Namespacepräfix für das Attribut. Muss ein globaler XML-Namespace sein, der mit einer ImportsAnweisung definiert ist, oder ein lokaler XML-Namespace, der in diesem Element oder einem übergeordneten Element definiert ist.aNameErforderlich. Name des Attributs. Das Format ist eine der folgenden:
- Literaltext. Siehe Namen deklarierter XML-Elemente und -Attribute.
- Eingebetteter Ausdruck des Formulars<%= aNameExp %>. Der Typ mussaNameExpoder ein Typ seinString, der implizit in XName.aValueWahlfrei. Wert des Attributs. Das Format ist eine der folgenden:
- Literaltext, eingeschlossen in Anführungszeichen.
- Eingebetteter Ausdruck des Formulars<%= aValueExp %>. Jeder Typ ist zulässig.Eingebetteter Ausdruck des Formulars
<%= aExp %>.
/>Wahlfrei. Gibt an, dass das Element ein leeres Element ohne Inhalt ist.
>Erforderlich. Beendet das Anfangs- oder leere Elementtag.
elementContentsWahlfrei. Inhalt des Elements.
content [ content ... ]Jeder
contentkann eine der folgenden Sein:Literaltext. Der gesamte Leerraum
elementContentswird signifikant, wenn ein Literaltext vorhanden ist.Eingebetteter Ausdruck des Formulars
<%= contentExp %>.XML-Elementliteral.
XML-Kommentarliteral. Siehe XML-Kommentarliteral.
XML-Verarbeitungsanweisungsliteral. Siehe XML Processing Instruction Literal.
XML-CDATA-Literal. Siehe XML-CDATA-Literal.
</[name]>Wahlfrei. Stellt das schließende Tag für das Element dar. Der optionale
nameParameter ist nicht zulässig, wenn er das Ergebnis eines eingebetteten Ausdrucks ist.
Rückgabewert
Ein XElement -Objekt.
Bemerkungen
Sie können die XML-Elementliteralsyntax verwenden, um Objekte in Ihrem Code zu erstellen XElement .
Hinweis
Ein XML-Literal kann mehrere Zeilen umfassen, ohne Zeilenfortsetzungszeichen zu verwenden. Mit diesem Feature können Sie Inhalte aus einem XML-Dokument kopieren und direkt in ein Visual Basic-Programm einfügen.
Eingebettete Ausdrücke des Formulars <%= exp %> ermöglichen ihnen das Hinzufügen dynamischer Informationen zu einem XML-Elementliteral. Weitere Informationen finden Sie unter Eingebettete Ausdrücke in XML.
Der Visual Basic-Compiler konvertiert das XML-Elementliteral in Aufrufe des XElement Konstruktors und gegebenenfalls den XAttribute Konstruktor.
XML-Namespaces
XML-Namespacepräfixe sind nützlich, wenn Sie XML-Literale mit Elementen aus demselben Namespace mehrmals im Code erstellen müssen. Sie können globale XML-Namespacepräfixe verwenden, die Sie mithilfe der Imports Anweisung oder lokaler Präfixe definieren, die Sie mithilfe der xmlns:xmlPrefix="xmlNamespace" Attributsyntax definieren. Weitere Informationen finden Sie unter Imports-Anweisung (XML-Namespace).
Gemäß den Bereichsregeln für XML-Namespaces haben lokale Präfixe Vorrang vor globalen Präfixen. Wenn jedoch ein XML-Literal einen XML-Namespace definiert, steht dieser Namespace nicht für Ausdrücke zur Verfügung, die in einem eingebetteten Ausdruck angezeigt werden. Der eingebettete Ausdruck kann nur auf den globalen XML-Namespace zugreifen.
Der Visual Basic-Compiler konvertiert jeden globalen XML-Namespace, der von einem XML-Literal verwendet wird, in eine lokale Namespacedefinition im generierten Code. Globale XML-Namespaces, die nicht verwendet werden, werden nicht im generierten Code angezeigt.
Beispiel 1
Das folgende Beispiel zeigt, wie Sie ein einfaches XML-Element mit zwei geschachtelten leeren Elementen erstellen.
Dim test1 As XElement =
<outer>
<inner1></inner1>
<inner2/>
</outer>
Console.WriteLine(test1)
Im Beispiel wird der folgende Text angezeigt. Beachten Sie, dass das Literal die Struktur der leeren Elemente behält.
<outer>
<inner1></inner1>
<inner2 />
</outer>
Beispiel 2
Das folgende Beispiel zeigt, wie eingebettete Ausdrücke verwendet werden, um ein Element zu benennen und Attribute zu erstellen.
Dim elementType = "book"
Dim authorName = "My Author"
Dim attributeName1 = "year"
Dim attributeValue1 = 1999
Dim attributeName2 = "title"
Dim attributeValue2 = "My Book"
Dim book As XElement =
<<%= elementType %>
isbn="1234"
author=<%= authorName %>
<%= attributeName1 %>=<%= attributeValue1 %>
<%= New XAttribute(attributeName2, attributeValue2) %>
/>
Console.WriteLine(book)
Dieser Code zeigt den folgenden Text an:
<book isbn="1234" author="My Author" year="1999" title="My Book" />
Beispiel 3
Im folgenden Beispiel wird als XML-Namespacepräfix deklariert ns . Anschließend wird das Präfix des Namespace verwendet, um ein XML-Literal zu erstellen und das endgültige Formular des Elements anzuzeigen.
' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">
Class TestClass1
Shared Sub TestPrefix()
' Create test using a global XML namespace prefix.
Dim inner2 = <ns:inner2/>
Dim test =
<ns:outer>
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1/>
<%= inner2 %>
</ns:middle>
</ns:outer>
' Display test to see its final form.
Console.WriteLine(test)
End Sub
End Class
Dieser Code zeigt den folgenden Text an:
<ns:outer xmlns:ns="http://SomeNamespace">
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1 />
<inner2 xmlns="http://SomeNamespace" />
</ns:middle>
</ns:outer>
Beachten Sie, dass der Compiler das Präfix des globalen XML-Namespace in eine Präfixdefinition für den XML-Namespace konvertiert hat. Das <ns:middle-Element> definiert das XML-Namespacepräfix für das <ns:inner1-Element> neu. Das <Element "ns:inner2> " verwendet jedoch den durch die Imports Anweisung definierten Namespace.