Imports 陳述式 (XML 命名空間)

匯入 XML 命名空間前置詞,以用於 XML 常值和 XML 軸屬性。

語法

Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">

組件

xmlNamespacePrefix
選擇性。 XML 項目和屬性可以據以參考 xmlNamespaceName 的字串。 如果未提供 xmlNamespacePrefix,則匯入的 XML 命名空間是預設的 XML 命名空間。 必須是有效的 XML 識別碼。 如需詳細資訊,請參閱宣告的 XML 元素和屬性的名稱

xmlNamespaceName
必要。 識別要匯入之 XML 命名空間的字串。

備註

您可以使用 Imports 陳述式來定義全域 XML 命名空間,您可以搭配 XML 常值和 XML 軸屬性使用,或作為傳遞至 GetXmlNamespace 運算子的參數。 (如需使用 Imports 陳述式匯入可在程式碼中使用類型名稱所在使用別名的相關資訊,請參閱 Imports 陳述式 (.NET 命名空間與類型)。) 使用 Imports 陳述式句宣告 XML 命名空間的語法與 XML 中使用的語法相同。 因此,您可以從 XML 檔案複製命名空間宣告,並在 Imports 陳述式中使用。

當您想要重複建立來自相同命名空間的 XML 項目時,XML 命名空間前置詞很有用。 使用 Imports 陳述式宣告的 XML 命名空間前置詞是全域的,也就是說,可供檔案中的所有程式碼使用。 當您建立 XML 項目常值,以及存取 XML 軸屬性時,可以使用此前置詞。 如需詳細資訊,請參閱 XML 項目常值XML 軸屬性

例如,如果您定義沒有命名空間前置詞的全域 XML 命名空間 (例如 Imports <xmlns="http://SomeNameSpace>"),則該命名空間會被視為預設的 XML 命名空間。 預設 XML 命名空間用於未明確指定命名空間的任何 XML 項目常值或 XML 屬性軸屬性。 如果指定的命名空間是空的命名空間 (也就是 xmlns=""),則也會使用預設命名空間 。 預設 XML 命名空間不適用於 XML 常值中的 XML 屬性,或不會套用至沒有命名空間的 XML 屬性軸屬性。

XML 常值中所定義的 XML 命名空間,稱為本機 XML 命名空間,優先於 Imports 陳述式定義為全域的 XML 命名空間。 Imports 陳述式所定義的 XML 命名空間優先於針對 Visual Basic 專案匯入的 XML 命名空間。 如果 XML 常值定義了 XML 命名空間,則該本機命名空間不適用於內嵌運算式。

全域 XML 命名空間會遵循與 .NET Framework 命名空間相同的範圍和定義規則。 因此,您可以包含 Imports 陳述式,以定義您可以匯入 .NET Framework 命名空間所在任何位置的全域 XML 命名空間。 這包括程式碼檔案和專案層級匯入的命名空間。 如需專案層級匯入命名空間的相關資訊,請參閱參考頁面、專案設計工具 (Visual Basic)

每個來源檔案可以包含任意數目的 Imports 陳述式。 這些必須遵循選項宣告,例如 Option Strict 陳述式,且其必須在程式設計項目之前,例如 ModuleClass 陳述式。

範例 1

下列範例會匯入預設 XML 命名空間和以前置詞 ns 識別的 XML 命名空間。 然後,其會建立使用這兩個命名空間的 XML 常值。

' 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

此程式碼顯示下列文字:

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

範例 2

下列範例會匯入 ns 作為 XML 命名空間前置詞。 然後,其會建立使用命名空間前置詞的 XML 常值,並顯示項目的最終形式。

' 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

此程式碼顯示下列文字:

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

請注意,編譯器已將 XML 命名空間前置詞從全域前置詞轉換為本機前置詞定義。

範例 3

下列範例會匯入 ns 作為 XML 命名空間前置詞。 然後它會使用命名空間的前置詞來建立 XML 常值,以及存取完整名稱為 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

此程式碼顯示下列文字:

Patrick Hines

另請參閱