Imports-Anweisung (XML-Namespace)
Aktualisiert: November 2007
Importiert XML-Namespacepräfixe zur Verwendung in XML-Literalen und XML-Achseneigenschaften.
Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">
Bestandteile
xmlNamespacePrefix
Optional. Die Zeichenfolge, durch die XML-Elemente und Attribute auf xmlNamespaceName verweisen können. Wenn Sie keinen xmlNamespacePrefix angeben, wird der XML-Standardnamespace importiert. Muss ein gültiger XML-Bezeichner sein. Weitere Informationen finden Sie unter Namen von deklarierten XML-Elementen und Attributen.xmlNamespaceName
Erforderlich. Die Zeichenfolge, die den zu importierenden XML-Namespace angibt.
Hinweise
Mit der Imports-Anweisung können Sie globale XML-Namespaces definieren, die Sie für XML-Literale und XML-Achseneigenschaften oder als Parameter für den GetXmlNamespace-Operator verwenden können. (Informationen zur Verwendung der Imports-Anweisung zum Importieren eines Alias, den Sie an den Stellen verwenden können, an denen im Code Typnamen verwendet werden, finden Sie unter Imports-Anweisung (.NET-Namespace und Typ).) Die Syntax zum Deklarieren eines XML-Namespaces mit der Imports-Anweisung ist identisch mit der in XML verwendeten Syntax. Daher können Sie eine Namespacedeklaration aus einer XML-Datei kopieren und in einer Imports-Anweisung verwenden.
XML-Namespacepräfixe sind hilfreich, wenn Sie wiederholt XML-Elemente erstellen möchten, die aus demselben Namespace stammen. Ein mit der Imports-Anweisung deklarierter XML-Namespace ist in dem Sinne global, dass er für den gesamten Code in der Datei zur Verfügung steht. Sie können ihn beim Erstellen von XML-Elementliteralen und beim Zugreifen auf XML-Achseneigenschaften verwenden. Weitere Informationen finden Sie unter XML-Elementliteral und XML-Achseneigenschaften.
Wenn Sie einen globalen XML-Namespace ohne einen Namespacepräfix definieren (z. B. Imports <xmlns="http://SomeNameSpace>"), wird dieser Namespace als der XML-Standardnamespace angesehen. Der XML-Standardnamespace wird für alle XML-Elementliterale oder XML-Attributachseneigenschaften verwendet, für die kein expliziter Namespace angegeben wird. Außerdem wird der Standardnamespace verwendet, wenn ein leerer Namespace (also ) angegeben wird. Der XML-Standardnamespace gilt nicht für XML-Attribute in XML-Literalen oder für XML-Attributachseneigenschaften ohne Namespace.
In einem XML-Literal definierte XML-Namespaces, die als lokale XML-Namespaces bezeichnet werden, haben Vorrang vor XML-Namespaces, die mit der Imports-Anweisung als global definiert werden. Mit der Imports-Anweisung definierte XML-Namespaces haben Vorrang vor XML-Namespaces, die für ein Visual Basic-Projekt importiert werden. Wenn ein XML-Literal einen XML-Namespace definiert, gilt dieser lokale Namespace nicht für eingebettete Ausdrücke.
Globale XML-Namespaces folgen denselben Bereichs- und Definitionsregeln wie .NET Framework-Namespaces. Aus diesem Grund können Sie eine Imports-Anweisung zum Definieren eines globalen XML-Namespaces auch an den Stellen angeben, an denen Sie einen .NET Framework-Namespace importieren können. Dies gilt sowohl für Codedateien als auch für auf Projektebene importierte Namespaces. Informationen über auf Projektebene importierte Namespaces finden Sie unter Seite "Verweise", Projekt-Designer (Visual Basic).
Jede Quelldatei kann beliebig viele Imports-Anweisungen enthalten. Diese müssen nach Option-Deklarationen, z. B. Option Strict, angegeben werden und Deklarationen von Programmierelementen, z. B. Module-Anweisungen oder Class-Anweisungen, vorangestellt werden.
Beispiel
Im folgenden Beispiel werden ein XML-Standardnamespace und ein mit dem Präfix ns gekennzeichneter XML-Namespace importiert. Anschließend werden XML-Literale erstellt, die beide Namespaces verwenden.
' Place Imports statements at the top of your program.
Imports <xmlns="http://DefaultNamespace">
Imports <xmlns:ns="http://NewNamespace">
Module Module1
Sub Main()
' Create element by using the default global XML namespace.
Dim inner = <innerElement/>
' Create element by using both the default global XML namespace
' and the namespace identified with the "ns" prefix.
Dim outer = <ns:outer>
<ns:innerElement></ns:innerElement>
<siblingElement></siblingElement>
<%= inner %>
</ns:outer>
' Display element to see its final form.
Console.WriteLine(outer)
End Sub
End Module
Durch diesen Code wird folgender Text angezeigt:
<ns:outer xmlns="http://DefaultNamespace"
xmlns:ns="http://NewNamespace">
<ns:innerElement></ns:innerElement>
<siblingElement></siblingElement>
<innerElement />
</ns:outer>
Im folgenden Beispiel wird der XML-Namespacepräfix ns importiert. Anschließend wird ein XML-Literal erstellt, das das Namespacepräfix verwendet und die abschließende Form des Elements anzeigt.
' 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
Durch diesen Code wird folgender Text angezeigt:
<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 das XML-Namespacepräfix vom Compiler von einer globalen Präfixdefinition in eine lokale Präfixdefinition umgewandelt wurde.
Im folgenden Beispiel wird der XML-Namespacepräfix ns importiert. Anschließend wird das Namespacepräfix verwendet, um ein XML-Literal zu erstellen und auf den ersten untergeordneten Knoten mit dem qualifizierten Namen ns:name zuzugreifen.
Imports <xmlns:ns = "http://SomeNamespace">
Class TestClass4
Shared Sub TestPrefix()
Dim contact = <ns:contact>
<ns:name>Patrick Hines</ns:name>
</ns:contact>
Console.WriteLine(contact.<ns:name>.Value)
End Sub
End Class
Durch diesen Code wird folgender Text angezeigt:
Patrick Hines
Siehe auch
Konzepte
Namen von deklarierten XML-Elementen und Attributen