Оператор Imports (пространство имен XML)
Обновлен: Ноябрь 2007
Импортирует префиксы пространства имен XML для использования в XML-литералах и свойствах оси XML.
Imports <xmlns:xmlNamespacePrefix = "xmlNamespaceName">
Компоненты
xmlNamespacePrefix
Необязательно. Строка, с помощью которой элементы и атрибуты XML могут ссылаться на пространство имен xmlNamespaceName. Если пространство имен xmlNamespacePrefix не указано, в качестве импортированного используется пространство имен XML по умолчанию. Должен являться допустимым XML-идентификатором. Дополнительные сведения см. в разделе Имена объявляемых элементов и атрибутов XML.xmlNamespaceName
Обязательно. Строка, идентифицирующая импортируемое пространство имен XML.
Заметки
Оператор Imports можно использовать для определения глобальных пространств имен XML, которые можно использовать с XML-литералами и свойствами оси XML, или как параметры, переданные оператору GetXmlNamespace. (Сведения об использовании оператора Imports для импорта псевдонимов, которые могут быть использованы в коде там, где используются имена типов, см. в разделе Оператор Imports (пространство имен .NET и тип).) Синтаксис объявления пространства имен XML с помощью инструкции Imports идентичен синтаксису, используемому в формате XML. Таким образом, можно скопировать объявление пространства имен из XML-файла и использовать его в операторе Imports.
Префиксы пространства имен XML полезны, если требуется повторно создать XML-элементы, принадлежащие одному пространству имен. Префикс пространства имен XML, объявляемый с использованием оператора Imports, является глобальным и доступен всему коду в файле. Его можно использовать при создании литерала XML-элемента и при доступе к свойствам оси XML. Дополнительные сведения см. в разделах Литеральное представление XML-элемента и Свойства оси XML.
Если определить глобальное пространство имен XML без префикса пространства имен (например Imports <xmlns="http://SomeNameSpace>"), такое пространство рассматривается как пространство имен XML по умолчанию. Пространство имен XML по умолчанию используется для любых литералов XML-элемента или свойств оси 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.
Пример
В следующем примере производится импорт пространства имен 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>
В следующем примере импортируется префикс пространства имен 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.
В следующем примере импортируется префикс пространства имен 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
См. также
Основные понятия
Имена объявляемых элементов и атрибутов XML
Ссылки
Литеральное представление XML-элемента