Compartir a través de


Propiedad de eje descendiente XML

Actualización: noviembre 2007

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

object...<descendant>

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

  • descendant
    Necesario. Nombre de los nodos descendientes 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 descendiente. Debe ser un espacio de nombres XML global definido con una instrucción Imports.

    name

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

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

Valor devuelto

Una colección de objetos XElement.

Comentarios

Puede usar una propiedad de eje descendiente XML para obtener acceso a los nodos descendientes por nombre de un objeto XElement o XDocument, o bien, de una colección de objetos XElement o XDocument. Use la propiedad XML Value para obtener acceso al valor del primer nodo descendiente 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 descendiente en llamadas al método Descendants.

Espacios de nombres XML

El nombre en una propiedad de eje descendiente puede usar únicamente espacios de nombres XML declarados globalmente con la instrucción Imports. No puede usar espacios 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 al valor del primer nodo descendiente denominado name y los valores de todos los nodos descendientes denominados phone del objeto contacts.

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

Console.WriteLine("Name: " & contacts...<name>.Value)

Dim homePhone = From phone In contacts...<phone> _
                Select phone.Value

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

Este código muestra el texto siguiente:

Name: Patrick Hines

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 valor del primer nodo secundario con el nombre completo ns:name.

Imports <xmlns:ns = "http://SomeNamespace"> 

Class TestClass2

    Shared Sub TestPrefix()
        Dim contacts = _
            <ns:contacts>
                <ns:contact>
                    <ns:name>Patrick Hines</ns:name>
                </ns:contact>
            </ns:contacts>

        Console.WriteLine("Name: " & contacts...<ns:name>.Value)
    End Sub

End Class

Este código muestra el texto siguiente:

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