Compartilhar via


Propriedade de eixo descendente XML (Visual Basic)

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

Sintaxe

object...<descendant>

Partes

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

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

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

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

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

Valor Retornado

Uma coleção de objetos XElement .

Comentários

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

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

Namespaces de XML

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

Exemplo 1

O exemplo a seguir mostra como acessar o valor do primeiro nó descendente denominado name e os valores de todos os nós descendentes denominados phone do 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 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 de XML. Em seguida, ele usa o prefixo do namespace para criar um literal do XML e acessar o valor do primeiro nó filho com o nome qualificado 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 exibe o seguinte texto:

Name: Patrick Hines

Confira também