导入 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 命名空间和类型)。) 使用语句声明 XML 命名空间的 Imports
语法与 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
语句),并且它们必须位于编程元素声明(如 Module
或 Class
语句)之前。
示例 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
以下示例导入 XML 命名空间前缀 ns
。 然后,它创建一个 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
以下示例导入 XML 命名空间前缀 ns
。 然后,它使用命名空间的前缀创建 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