Compartir a través de


Cómo crear un documento con espacios de nombres (LINQ to XML) (Visual Basic)

Actualización: November 2007

En este tema se muestra cómo crear un documento con espacios de nombres en Visual Basic.

Es posible usar Visual Basic para crear documentos con espacios de nombres mediante las técnicas descritas en Cómo crear un documento con espacios de nombres (C#) (LINQ to XML). No obstante, resulta más conveniente utilizar las declaraciones de espacios de nombres globales de Visual Basic.

Cuando se utilizan literales XML en Visual Basic, los usuarios pueden definir un espacio de nombres XML predeterminado que sea global. Este espacio de nombres será el predeterminado tanto para los literales XML como para las propiedades XML. Es posible definir el espacio de nombres XML predeterminado tanto en el nivel de proyecto como en el nivel de archivo. En caso de definirlo a nivel de archivo, éste invalidará al espacio de nombres predeterminado que se definió a nivel del proyecto.

También puede definir otros espacios de nombres y especificar para ellos los prefijos de espacio de nombres.

Mediante la palabra clave Imports podrá definir espacios de nombres predeterminados y espacios de nombres con un prefijo.

Para obtener más información, vea Introducción a los literales XML en Visual Basic.

Observe que el espacio de nombres XML predeterminado sólo puede aplicarse a los elementos, no a los atributos. De forma predeterminada, los atributos nunca se encuentran en un espacio de nombres. No obstante, puede utilizar un prefijo de espacio de nombres para colocar un atributo en un espacio de nombres.

Ejemplo

Este ejemplo crea un documento que contiene un espacio de nombres.

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

Este ejemplo genera el siguiente resultado:

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

Este ejemplo crea un documento que contiene dos espacios de nombres, uno de los cuales es el predeterminado.

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

Este ejemplo genera el siguiente resultado:

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

El ejemplo siguiente crea un documento que contiene varios espacios de nombres, todos ellos con prefijos de espacio de nombres.

Cuando se serializa un árbol XML, LINQ to XML emite declaraciones de espacios de nombres a medida que se necesitan, para que cada elemento se encuentre en su espacio de nombres designado.

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

Este ejemplo genera el siguiente resultado:

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

Vea también

Conceptos

Espacios de nombres en Visual Basic (LINQ to XML)