Свойство дочерней оси XML (Visual Basic)

Предоставляет доступ к потомкам следующих объектов: XElement объект, объект, XDocument коллекция XElement объектов или коллекция XDocument объектов.

Синтаксис

object...<descendant>

Детали

object Обязательный. Объект XElement, объект XDocument, коллекция объектов XElement или коллекция объектов XDocument.

...< Обязательный. Обозначает начало свойства оси потомка.

descendant Обязательный. Имя потомков для доступа к форме [prefix:]name.

Часть Description
prefix Необязательно. Префикс пространства имен XML для узла-потомка. Должно быть глобальным пространством имен XML, определенным с помощью инструкции Imports .
name Обязательный. Локальное имя узла-потомка. См . имена объявленных XML-элементов и атрибутов.

> Обязательный. Обозначает конец свойства оси потомка.

Возвращаемое значение

Коллекция объектов XElement.

Замечания

Для доступа к узлам-потомкам можно использовать свойство оси XML по имени или XElementXDocument объекту или коллекции XElement объектов.XDocument Используйте XML-свойство Value для доступа к значению первого потомка в возвращаемой коллекции. Дополнительные сведения см. в разделе "Свойство значения XML".

Компилятор Visual Basic преобразует свойства ось потомков в вызовы Descendants метода.

Пространства имен XML

Имя в свойстве оси потомка может использовать только пространства имен XML, объявленные глобально с инструкцией Imports . Он не может использовать пространства имен XML, объявленные локально в литералах ЭЛЕМЕНТОВ XML. Дополнительные сведения см. в разделе "Импорт" (пространство имен XML).

Пример 1

В следующем примере показано, как получить доступ к значению первого нисходящего узла с именем name и значениям всех потомков, именованных phone из 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))

Этот пример кода отображает следующий текст:

Name: Patrick Hines

Home Phone = 206-555-0144

Пример 2

В следующем примере ns объявляется как префикс пространства имен XML. Затем он использует префикс пространства имен для создания XML-литерала и доступа к значению первого дочернего узла с полным именем 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

Этот пример кода отображает следующий текст:

Name: Patrick Hines

См. также