Partilhar via


Propriedade XML Descendant Axis (Visual Basic)

Fornece acesso aos descendentes do seguinte: um XElement objeto, um XDocument objeto, uma coleção de XElement objetos ou uma coleção de XDocument objetos.

Sintaxe

object...<descendant>

Partes

object Necessário. Um XElement objeto, um XDocument objeto, uma coleção de XElement objetos ou uma coleção de XDocument objetos.

...< Necessário. Indica o início de uma propriedade de eixo descendente.

descendant Necessário. Nome dos nós descendentes a aceder, do formulário [prefix:]name.

Parte Description
prefix Opcional. Prefixo do namespace XML para o nó descendente. Deve ser um namespace XML global definido usando uma Imports instrução.
name Obrigatório. Nome local do nó descendente. Consulte Nomes de elementos e atributos XML declarados.

> Necessário. Indica o final de uma propriedade de eixo descendente.

Devolver Valor

Uma coleção de XElement objetos.

Observações

Você pode usar uma propriedade de eixo descendente XML para acessar nós descendentes pelo nome de um XElement ou XDocument objeto, ou de uma coleção de XElement ou XDocument objetos. Use a propriedade XML Value para acessar o valor do primeiro nó descendente na coleção retornada. Para obter mais informações, consulte Propriedade de valor XML.

O compilador do Visual Basic converte propriedades de eixo descendente em chamadas para o Descendants método.

XML Namespaces

O nome em uma propriedade de eixo descendente pode usar apenas namespaces XML declarados globalmente com a Imports instrução. Ele não pode usar namespaces XML declarados localmente em literais de elemento XML. Para obter mais informações, consulte Instrução de importação (namespace XML).

Exemplo 1

O exemplo a seguir mostra como acessar o valor do primeiro nó descendente nomeado name e os valores de todos os nós descendentes nomeados phone a partir do 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 exibe o seguinte texto:

Name: Patrick Hines

Home Phone = 206-555-0144

Exemplo 2

O exemplo a seguir declara ns como um prefixo de namespace XML. Em seguida, ele usa o prefixo do namespace para criar um literal XML e acessar o valor do primeiro nó filho com o nome ns:namequalificado.

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 exibe o seguinte texto:

Name: Patrick Hines

Consulte também