Оператор 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
инструкции для импорта псевдонима, который можно использовать, где имена типов используются в коде, см . в инструкции Import (пространство имен и тип.NET).) Синтаксис объявления пространства имен XML с помощью Imports
инструкции идентичен синтаксису, используемому в XML. Поэтому можно скопировать объявление пространства имен из XML-файла и использовать его в инструкции Imports
.
Префиксы пространства имен XML полезны при повторном создании XML-элементов из одного пространства имен. Префикс пространства имен XML, объявленный с Imports
помощью инструкции, является глобальным в том смысле, что он доступен для всего кода в файле. Его можно использовать при создании литералах ЭЛЕМЕНТОВ XML и при доступе к свойствам оси XML. Дополнительные сведения см. в разделе "Литерал XML-элемента" и "Свойства оси XML".
Если определить глобальное пространство имен XML без префикса пространства имен (например, Imports <xmlns="http://SomeNameSpace>"
), это пространство имен считается пространством имен по умолчанию. Пространство имен XML по умолчанию используется для любых литералов XML-элементов или свойств оси атрибутов XML, которые явно не указывают пространство имен. Пространство имен по умолчанию также используется, если указанное пространство имен является пустым пространством имен (то есть xmlns=""
). Пространство имен XML по умолчанию не применяется к XML-атрибутам в XML-литералах или к свойствам оси атрибутов XML, которые не имеют пространства имен.
Пространства имен XML, определенные в XML-литерале, которые называются локальными пространствами имен XML, имеют приоритет над пространствами имен XML, которые определяются инструкцией как глобальные Imports
. Пространства имен XML, определенные Imports
инструкцией, имеют приоритет над пространствами имен XML, импортированными для проекта Visual Basic. Если XML-литерал определяет пространство имен XML, это локальное пространство имен не применяется к внедренным выражениям.
Глобальные пространства имен XML соответствуют тем же правилам области и определениям, что и платформа .NET Framework пространства имен. В результате можно включить инструкцию Imports
для определения глобального пространства имен XML в любом месте, где можно импортировать пространство имен платформа .NET Framework. Это включает как файлы кода, так и импортированные пространства имен на уровне проекта. Сведения о импортированных пространствах имен на уровне проекта см. на странице ссылок, конструкторе проектов (Visual Basic).
Каждый исходный файл может содержать любое количество инструкций Imports
. Они должны следовать объявлениям параметров, таким как Option Strict
оператор, и они должны предшествовать объявлениям элементов программирования, таким как Module
или Class
операторы.
Пример 1
В следующем примере импортируется пространство имен XML по умолчанию и пространство имен XML, определяемое префиксом ns
. Затем он создает 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