Comparteix a través de


Propiedad de eje descendiente XML Visual Basic)

Proporciona el acceso a los descendientes de uno de los siguientes elementos: un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.

Sintaxis

object...<descendant>

Partes

object Obligatorio. Un objeto XElement, un objeto XDocument, una colección de objetos XElement o una colección de objetos XDocument.

...< Obligatorio. Denota el inicio de una propiedad del eje descendiente.

descendant Obligatorio. Nombre de los nodos descendientes a los que se accede, 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 mediante una instrucción Imports.
name Necesario. Nombre local del nodo descendiente. Consulte Nombres de atributos y elementos XML declarados.

> Obligatorio. Denota el final de una propiedad del eje descendiente.

Valor devuelto

Una colección de objetos XElement.

Comentarios

Puede usar una propiedad de eje descendiente XML para tener acceso a los nodos descendientes por nombre desde un objeto XElement o XDocument, o bien desde una colección de objetos XElement o XDocument. Utilice la propiedad XML Value para acceder al valor del primer nodo descendiente de la colección devuelta. Para más información, consulte Value (Propiedad XML).

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

Espacios de nombres XML

El nombre de una propiedad de eje descendiente solo puede usar espacios de nombres XML declarados globalmente con la instrucción Imports. No puede utilizar espacios de nombres XML declarados localmente dentro de literales de elemento XML. Para más información, consulte Imports (Instrucción, Espacio de nombres XML).

Ejemplo 1

En el ejemplo siguiente se muestra cómo acceder al valor del primer nodo descendiente denominado name y a los valores de todos los nodos descendientes denominados phone desde el 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 siguiente texto:

Name: Patrick Hines

Home Phone = 206-555-0144

Ejemplo 2

En el ejemplo siguiente se declara ns como un prefijo de espacio de nombres XML. A continuación, se usa el prefijo del espacio de nombres para crear un literal XML y acceder 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 siguiente texto:

Name: Patrick Hines

Consulte también