Condividi tramite


Procedura: creare un documento con spazi dei nomi (LINQ to XML) (Visual Basic)

In questo argomento viene illustrato come creare un documento con spazi dei nomi in Visual Basic.

È possibile creare documenti con spazi di nomi in Visual Basic usando le tecniche illustrate in Procedura: creare un documento con spazi dei nomi (C#) (LINQ to XML). È tuttavia più comodo usare le dichiarazioni dello spazio dei nomi globali di Visual Basic.

Quando si usano valori letterali XML in Visual Basic, gli utenti possono definire un unico spazio dei nomi XML predefinito globale. Tale spazio dei nomi è quello predefinito sia per i valori letterali XML che per le proprietà XML. Lo spazio dei nomi XML predefinito può essere definito a livello di progetto o di file. Se viene definito a livello di file, sostituisce quello predefinito a livello di progetto.

È inoltre possibile definire altri spazi dei nomi e specificarne i prefissi.

Per definire spazi dei nomi predefiniti e spazi dei nomi con prefissi, usare la parola chiave Imports.

Per altre informazioni, vedere Introduzione ai valori letterali XML in Visual Basic.

Notare che lo spazio dei nomi XML predefinito si applica solo agli elementi e non agli attributi. Per impostazione predefinita, gli attributi non sono inclusi in nessuno spazio dei nomi. È tuttavia possibile usare un prefisso dello spazio dei nomi per inserire un attributo in uno spazio dei nomi.

Esempio

In questo esempio viene creato un documento contenente uno spazio dei nomi.

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

Questo esempio produce il seguente output:

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

In questo esempio viene creato un documento contenente due spazi dei nomi, uno dei quali è quello predefinito.

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

Questo esempio produce il seguente output:

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

Nell'esempio seguente viene creato un documento contenente più spazi dei nomi, tutti con prefisso.

Quando si serializza un albero XML, LINQ to XML genera dichiarazioni degli spazi dei nomi in base alle necessità in modo che ogni elemento venga inserito nel relativo spazio dei nomi definito.

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

Questo esempio produce il seguente output:

<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>

Vedere anche

Concetti

Spazi dei nomi in Visual Basic (LINQ to XML)