Compartir a través de


Propiedad Eje descendiente XML (Visual Basic)

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

Sintaxis

object...<descendant>

Partes

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

...< Obligatorio. Indica el inicio de una propiedad de eje descendiente.

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

> Obligatorio. Indica el final de una propiedad de eje descendiente.

Valor devuelto

Una colección de objetos XElement.

Observaciones

Puede usar una propiedad de eje descendiente XML para tener acceso a los nodos descendientes por su nombre desde un XElement objeto o XDocument desde una colección de XElement objetos o XDocument . Utilice la propiedad XML Value para tener acceso al valor del primer nodo descendiente de la colección devuelta. Para obtener más información, vea Xml Value Property.

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

Espacios de nombres XML

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

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

Ejemplo 2

En el ejemplo siguiente se declara ns como prefijo de espacio de nombres XML. A continuación, usa el prefijo del espacio de nombres para crear un literal XML y obtener acceso al valor del primer nodo secundario con el nombre ns:namecompleto .

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

Consulte también