Freigeben über


Vorgehensweise: Erstellen eines Dokuments mit Namespaces in Visual Basic (LINQ to XML)

In diesem Artikel wird das Erstellen eines Dokuments mit Namespaces in Visual Basic beschrieben.

Bei Verwendung von XML-Literalen in Visual Basic können Benutzer einen globalen XML-Standardnamespace definieren. Dieser Namespace ist der Standardnamespace für die XML-Literale und für die XML-Eigenschaften. Der XML-Standardnamespace kann auf Projekt- oder auf Dateiebene definiert werden. Bei Definition auf Dateiebene wird der auf der Projektebene definierte Standardnamespace außer Kraft gesetzt.

Sie können auch andere Namespaces definieren und die Namespacepräfixe für diese Namespaces angeben. Sie verwenden das Schlüsselwort Imports, um beide Namespacetypen zu definieren.

Weitere Informationen hierzu finden Sie unter XML-Literale in Visual Basic.

Beachten Sie, dass der XML-Standardnamespace nur für Elemente, nicht aber für Attribute gültig ist. Attribute befinden sind standardmäßig in einem Standardnamespace. Sie können aber ein Namespacepräfix verwenden, um ein Attribut in einen Namespace zu setzen.

Beispiel: Erstellen eines Dokuments mit einem Namespace

Dieses Beispiel erstellt ein Dokument, das einen Namespace enthält:

Imports <xmlns:aw="http://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

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Beispiel: Erstellen eines Dokuments mit zwei Namespaces, einer mit einem Präfix

Dieses Beispiel erstellt ein Dokument, das zwei Namespaces enthält. Einer ist der Standardnamespace, der andere hat ein Präfix.

Imports <xmlns="http://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

Dieses Beispiel erzeugt die folgende Ausgabe:

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

Beispiel: Erstellen eines Dokuments mit zwei Namespaces, beide mit einem Präfix

Das folgende Beispiel erstellt ein Dokument, das zwei Namespaces enthält, die beide ein Namespacepräfix besitzen.

Beim Serialisieren in eine XML-Struktur gibt LINQ to XML je nach Bedarf Namespacedeklarationen aus, sodass sich jedes Element in dem für ihn vorgesehenen Namespace befindet.

Imports <xmlns:aw="http://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

Dieses Beispiel erzeugt die folgende Ausgabe:

<aw:Root xmlns:fc="www.fourthcoffee.com" xmlns:aw="http://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>

Siehe auch