Dela via


Importinstruktor (XML-namnområde)

Importerar XML-namnområdesprefix för användning i XML-literaler och XML-axelegenskaper.

Syntax

Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">

Delar

xmlNamespacePrefix
Valfritt. Strängen med vilken XML-element och -attribut kan referera till xmlNamespaceName. Om inget xmlNamespacePrefix anges är det importerade XML-namnområdet standard-XML-namnområdet. Måste vara en giltig XML-identifierare. Mer information finns i Namn på deklarerade XML-element och attribut.

xmlNamespaceName
Obligatoriska. Strängen som identifierar XML-namnområdet som importeras.

Kommentarer

Du kan använda -instruktionen Imports för att definiera globala XML-namnområden som du kan använda med XML-literaler och XML-axelegenskaper, eller som parametrar som skickas till operatorn GetXmlNamespace . (Information om hur du använder -instruktionen Imports för att importera ett alias som kan användas där typnamn används i koden finns i Importuttryck (.NET-namnområde och typ).) Syntaxen för att deklarera ett XML-namnområde med hjälp av -instruktionen Imports är identisk med syntaxen som används i XML. Därför kan du kopiera en namnområdesdeklaration från en XML-fil och använda den i en Imports -instruktion.

XML-namnområdesprefix är användbara när du upprepade gånger vill skapa XML-element som kommer från samma namnområde. XML-namnområdesprefixet som deklareras med -instruktionen Imports är globalt i den meningen att det är tillgängligt för all kod i filen. Du kan använda den när du skapar XML-elementliteraler och när du kommer åt XML-axelegenskaper. Mer information finns i EGENSKAPER för XML-elementliteral och XML-axel.

Om du definierar ett globalt XML-namnområde utan ett namnområdesprefix (till exempel Imports <xmlns="http://SomeNameSpace>"), anses det namnområdet vara standard-XML-namnområdet. Standard-XML-namnområdet används för xml-elementliteraler eller XML-attributaxelegenskaper som inte uttryckligen anger ett namnområde. Standardnamnområdet används också om det angivna namnområdet är det tomma namnområdet (d.s.a xmlns="". ). Xml-standardnamnområdet gäller inte för XML-attribut i XML-literaler eller xml-attributaxelegenskaper som inte har något namnområde.

XML-namnområden som definieras i en XML-literal, som kallas lokala XML-namnområden, har företräde framför XML-namnområden som definieras av -instruktionen Imports som globala. XML-namnområden som definieras av -instruktionen Imports har företräde framför XML-namnområden som importerats för ett Visual Basic-projekt. Om en XML-literal definierar ett XML-namnområde gäller inte det lokala namnområdet för inbäddade uttryck.

Globala XML-namnområden följer samma omfångs- och definitionsregler som .NET Framework-namnområden. Därför kan du inkludera en Imports instruktion för att definiera ett globalt XML-namnområde var som helst där du kan importera ett .NET Framework-namnområde. Detta omfattar både kodfiler och importerade namnområden på projektnivå. Information om importerade namnområden på projektnivå finns i Referenssida, Projektdesigner (Visual Basic).

Varje källfil kan innehålla valfritt antal Imports instruktioner. Dessa måste följa alternativdeklarationer, till exempel -instruktionen Option Strict , och de måste föregå deklarationer av programmeringselement, till exempel Module eller Class -instruktioner.

Exempel 1

I följande exempel importeras ett XML-standardnamnområde och ett XML-namnområde som identifieras med prefixet ns. Sedan skapas XML-literaler som använder båda namnrymderna.

' 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

Den här koden visar följande text:

<ns:outer xmlns="http://DefaultNamespace"
          xmlns:ns="http://NewNamespace">
  <ns:innerElement></ns:innerElement>
  <siblingElement></siblingElement>
  <innerElement />
</ns:outer>

Exempel 2

I följande exempel importeras XML-namnområdesprefixet ns. Den skapar sedan en XML-literal som använder namnområdesprefixet och visar elementets slutliga formulär.

' 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

Den här koden visar följande text:

<ns:outer xmlns:ns="http://SomeNamespace">
  <ns:middle xmlns:ns="http://NewNamespace">
    <ns:inner1 />
    <inner2 xmlns="http://SomeNamespace" />
  </ns:middle>
</ns:outer>

Observera att kompilatorn konverterade XML-namnområdesprefixet från ett globalt prefix till en lokal prefixdefinition.

Exempel 3

I följande exempel importeras XML-namnområdesprefixet ns. Den använder sedan prefixet för namnområdet för att skapa en XML-literal och komma åt den första underordnade noden med det kvalificerade namnet 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

Den här koden visar följande text:

Patrick Hines

Se även