Поделиться через


Свойство дочерней оси XML

Обновлен: Ноябрь 2007

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

object...<descendant>

Компоненты

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

  • ...<
    Обязательный. Обозначает начало свойства дочерней оси.

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

    Компонент

    Описание

    prefix

    Дополнительный. Префикс пространства имен XML для дочернего узла. Должно быть глобальное пространство имен XML, которое определяется с помощью оператора Imports.

    name

    Обязательный. Локальное имя дочернего узла. См. раздел Имена объявляемых элементов и атрибутов XML.

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

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

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

Заметки

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

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

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

Имя в свойстве дочерней оси может использовать только пространства имен, объявленных глобально оператором Imports. Оно не может использовать пространства имен XML, объявленные локально с помощью литералов XML-элемента. Дополнительные сведения см. в разделе Оператор Imports (пространство имен XML).

Пример

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

В следующем примере 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

См. также

Основные понятия

Имена объявляемых элементов и атрибутов XML

Ссылки

XElement

Другие ресурсы

Свойства оси XML

XML-литералы

Создание XML в Visual Basic