Compartir a través de


Propiedades de eje secundario XML

Actualización: noviembre 2007

Proporciona acceso a los elementos secundarios de un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.

object.<child>

Partes

  • object
    Necesario. Objeto XElement, objeto XDocument, colección de objetos XElement o colección de objetos XDocument.

  • .<
    Necesario. Denota el inicio de una propiedad de eje secundario.

  • child
    Necesario. Nombre de los nodos secundarios a los que se va a obtener acceso, con el formato [prefix:]name.

    Parte

    Descripción

    prefix

    Opcional. Prefijo de espacio de nombres XML para el nodo secundario. Debe ser un espacio de nombres XML global definido con una instrucción Imports.

    name

    Necesario. Nombre local del nodo secundario. Visite Nombres de atributos y elementos XML declarados.

  • >
    Necesario. Denota el final de una propiedad de eje secundario.

Valor devuelto

Una colección de objetos XElement.

Comentarios

Puede usar una propiedad de eje secundario XML para obtener acceso a los nodos secundarios por nombre de un objeto XElement o XDocument, o de una colección de objetos XElement o XDocument. Use la propiedad XML Value para obtener acceso al valor del primer nodo secundario en la colección devuelta. Para obtener más información, consulte Propiedad Value de XML.

El compilador de Visual Basic convierte las propiedades de eje secundario en llamadas al método Elements.

Espacios de nombres XML

El nombre en una propiedad de eje secundario puede usar únicamente prefijos de espacio de nombres XML declarados globalmente con la instrucción Imports. No puede usar prefijos de espacio de nombres XML declarados localmente dentro de los literales de elemento XML. Para obtener más información, consulte Imports (Instrucción, Espacio de nombres XML).

Ejemplo

En el ejemplo siguiente se muestra cómo obtener acceso a los nodos secundario denominados phone del objeto contact.

Dim contact As XElement = _
    <contact>
        <name>Patrick Hines</name>
        <phone type="home">206-555-0144</phone>
        <phone type="work">425-555-0145</phone>
    </contact>

Dim homePhone = From hp In contact.<phone> _
                Where contact.<phone>.@type = "home" _
                Select hp

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

Este código muestra el texto siguiente:

Home Phone = 206-555-0144

En el ejemplo siguiente se muestra cómo obtener acceso a los nodos secundarios denominados phone de la colección devuelta por la propiedad de eje secundario contact del objeto contacts.

Dim contacts As XElement = _
    <contacts>
        <contact>
            <name>Patrick Hines</name>
            <phone type="home">206-555-0144</phone>
        </contact>
        <contact>
            <name>Lance Tucker</name>
            <phone type="work">425-555-0145</phone>
        </contact>
    </contacts>

Dim homePhone = From contact In contacts.<contact> _
                Where contact.<phone>.@type = "home" _
                Select contact.<phone>

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

Este código muestra el texto siguiente:

Home Phone = 206-555-0144

En el ejemplo siguiente se declara ns como prefijo de espacio de nombres XML. A continuación, se usa el prefijo del espacio de nombres para crear un literal XML y obtener acceso al primer nodo secundario con el nombre completo 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

Este código muestra el texto siguiente:

Patrick Hines

Vea también

Conceptos

Nombres de atributos y elementos XML declarados

Referencia

XElement

Otros recursos

Propiedades de eje XML

Literales XML

Crear XML en Visual Basic