Imports — Instrukcja (przestrzeń nazw XML)
Importuje prefiksy przestrzeni nazw XML do użycia w literałach XML i właściwościach osi XML.
Składnia
Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">
generatora
xmlNamespacePrefix
Opcjonalny. Ciąg, za pomocą którego elementy i atrybuty XML mogą odwoływać się do xmlNamespaceName
elementu . Jeśli nie xmlNamespacePrefix
zostanie podana, zaimportowana przestrzeń nazw XML jest domyślną przestrzenią nazw XML. Musi być prawidłowym identyfikatorem XML. Aby uzyskać więcej informacji, zobacz Nazwy zadeklarowanych elementów XML i atrybutów.
xmlNamespaceName
Wymagany. Ciąg identyfikujący importowaną przestrzeń nazw XML.
Uwagi
Możesz użyć instrukcji Imports
, aby zdefiniować globalne przestrzenie nazw XML, których można używać z literałami XML i właściwościami osi XML lub jako parametry przekazywane do GetXmlNamespace
operatora. (Aby uzyskać informacje na temat używania Imports
instrukcji do importowania aliasu, który może służyć do używania nazw typów w kodzie, zobacz Import Statement (.NET Namespace and Type)). Składnia deklarowania przestrzeni nazw XML przy użyciu instrukcji Imports
jest identyczna ze składnią używaną w języku XML. W związku z tym można skopiować deklarację przestrzeni nazw z pliku XML i użyć jej w instrukcji Imports
.
Prefiksy przestrzeni nazw XML są przydatne, gdy chcesz wielokrotnie tworzyć elementy XML z tej samej przestrzeni nazw. Prefiks przestrzeni nazw XML zadeklarowany za pomocą instrukcji Imports
jest globalny w tym sensie, że jest dostępny dla całego kodu w pliku. Można go używać podczas tworzenia literałów elementów XML i uzyskiwania dostępu do właściwości osi XML. Aby uzyskać więcej informacji, zobacz Właściwości literału elementu XML i osi XML.
Jeśli zdefiniujesz globalną przestrzeń nazw XML bez prefiksu przestrzeni nazw (na przykład Imports <xmlns="http://SomeNameSpace>"
), ta przestrzeń nazw jest uważana za domyślną przestrzeń nazw XML. Domyślna przestrzeń nazw XML jest używana dla dowolnych literałów elementu XML lub właściwości osi atrybutów XML, które nie określają jawnie przestrzeni nazw. Domyślna przestrzeń nazw jest również używana, jeśli określona przestrzeń nazw jest pustą przestrzenią nazw (czyli xmlns=""
). Domyślna przestrzeń nazw XML nie ma zastosowania do atrybutów XML w literałach XML ani do właściwości osi atrybutów XML, które nie mają przestrzeni nazw.
Przestrzenie nazw XML zdefiniowane w literału XML nazywane lokalnymi przestrzeniami nazw XML mają pierwszeństwo przed przestrzeniami nazw XML zdefiniowanymi przez instrukcję Imports
jako globalną. Przestrzenie nazw XML zdefiniowane przez instrukcję Imports
mają pierwszeństwo przed przestrzeniami nazw XML importowanymi dla projektu Visual Basic. Jeśli literał XML definiuje przestrzeń nazw XML, ta lokalna przestrzeń nazw nie ma zastosowania do wyrażeń osadzonych.
Globalne przestrzenie nazw XML są zgodne z tymi samymi regułami określania zakresu i definicji co przestrzenie nazw programu .NET Framework. W związku z tym można dołączyć instrukcję Imports
w celu zdefiniowania globalnej przestrzeni nazw XML w dowolnym miejscu, w którym można zaimportować przestrzeń nazw programu .NET Framework. Obejmuje to zarówno pliki kodu, jak i zaimportowane przestrzenie nazw na poziomie projektu. Aby uzyskać informacje o zaimportowanych przestrzeniach nazw na poziomie projektu, zobacz Strona odwołań, Project Projektant (Visual Basic).
Każdy plik źródłowy może zawierać dowolną liczbę instrukcji Imports
. Muszą one być zgodne z deklaracjami opcji, takimi jak Option Strict
instrukcja, i muszą poprzedzać deklaracje elementów programowania, takie jak Module
lub Class
instrukcje.
Przykład 1
Poniższy przykład importuje domyślną przestrzeń nazw XML i przestrzeń nazw XML zidentyfikowaną z prefiksem ns
. Następnie tworzy literały XML, które używają obu przestrzeni nazw.
' 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
Ten kod wyświetla następujący tekst:
<ns:outer xmlns="http://DefaultNamespace"
xmlns:ns="http://NewNamespace">
<ns:innerElement></ns:innerElement>
<siblingElement></siblingElement>
<innerElement />
</ns:outer>
Przykład 2
Poniższy przykład importuje prefiks ns
przestrzeni nazw XML . Następnie tworzy literał XML, który używa prefiksu przestrzeni nazw i wyświetla ostateczny formularz elementu.
' 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
Ten kod wyświetla następujący tekst:
<ns:outer xmlns:ns="http://SomeNamespace">
<ns:middle xmlns:ns="http://NewNamespace">
<ns:inner1 />
<inner2 xmlns="http://SomeNamespace" />
</ns:middle>
</ns:outer>
Zwróć uwagę, że kompilator przekonwertował prefiks przestrzeni nazw XML z globalnego prefiksu na lokalną definicję prefiksu.
Przykład 3
Poniższy przykład importuje prefiks ns
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 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
Ten kod wyświetla następujący tekst:
Patrick Hines