Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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.