Оператор 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-элемента

Оператор GetXmlNamespace

Другие ресурсы

Свойства оси XML