Поделиться через


Как создать документ с пространствами имен (LINQ to XML) (Visual Basic)

В этом разделе описано, как создать документ с пространствами имен в Visual Basic.

Можно создавать документы с пространствами имен в Visual Basic, используя тот же подход, что описан в разделе Как создать документ с пространствами имен (C#) (LINQ to XML). Однако более удобно будет использовать глобальные декларации пространств имен в Visual Basic.

При использовании литералов XML в Visual Basic пользователи могут задавать одно глобальное пространство имен XML. Это пространство имен является пространством имен по умолчанию как для литералов, так и для свойств XML. Пространство имен XML по умолчанию можно задать как на уровне проекта, так и на уровне файла. Если оно задается на уровне файла, то оно переопределяет пространство имен по умолчанию, заданное на уровне проекта.

Можно также задавать другие пространства имен и указывать префиксы для них.

Как пространства имен по умолчанию, так и пространства имен с префиксами можно задавать при помощи ключа Imports.

Для получения дополнительной информации см. Введение в XML-литералы в Visual Basic.

Обратите внимание, что пространство имен XML по умолчанию применимо только к элементам, а не к атрибутам. Атрибуты по умолчанию никогда не находятся в пространстве имен. Однако можно использовать префикс пространства имен, чтобы ввести атрибут в пространство имен.

Пример

В этом примере создается документ, который содержит пространство имен.

Imports <xmlns:aw="https://www.adventure-works.com">
Module Module1
    Sub Main()
        Dim root As XElement = _
            <aw:Root>
                <aw:Child aw:Att="attvalue"/>
            </aw:Root>
        Console.WriteLine(root)
    End Sub
End Module

В этом примере выводятся следующие данные:

<aw:Root xmlns:aw="https://www.adventure-works.com">
  <aw:Child aw:Att="attvalue" />
</aw:Root>

В этом примере создается документ, который содержит два пространства имен, каждое из которых является пространством имен по умолчанию.

Imports <xmlns="https://www.adventure-works.com">
Imports <xmlns:fc="www.fourthcoffee.com">

Module Module1

    Sub Main()
        Dim root As XElement = _
            <Root>
                <Child Att="attvalue"/>
                <fc:Child2>child2 content</fc:Child2>
            </Root>
        Console.WriteLine(root)
    End Sub

End Module

В этом примере выводятся следующие данные:

<Root xmlns:fc="www.fourthcoffee.com" xmlns="https://www.adventure-works.com">
  <Child Att="attvalue" />
  <fc:Child2>child2 content</fc:Child2>
</Root>

В этом примере создается документ, который содержит несколько пространств имен с префиксами.

При сериализации XML-дерева LINQ to XML создает декларации пространства имен таким образом, чтобы каждый элемент находился в верном пространстве имен.

Imports <xmlns:aw="https://www.adventure-works.com">
Imports <xmlns:fc="www.fourthcoffee.com">

Module Module1

    Sub Main()
        Dim root As XElement = _
            <aw:Root>
                <fc:Child>
                    <aw:DifferentChild>other content</aw:DifferentChild>
                </fc:Child>
                <aw:Child2>c2 content</aw:Child2>
                <fc:Child3>c3 content</fc:Child3>
            </aw:Root>
        Console.WriteLine(root)
    End Sub

End Module

В этом примере выводятся следующие данные:

<aw:Root xmlns:fc="www.fourthcoffee.com" xmlns:aw="https://www.adventure-works.com">
  <fc:Child>
    <aw:DifferentChild>other content</aw:DifferentChild>
  </fc:Child>
  <aw:Child2>c2 content</aw:Child2>
  <fc:Child3>c3 content</fc:Child3>
</aw:Root>

См. также

Основные понятия

Пространства имен в Visual Basic (LINQ to XML)