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

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

Синтаксис

object.<child>

Детали

Термин Определение
object Обязательный. Объект XElement, объект XDocument, коллекция объектов XElement или коллекция объектов XDocument.
.< Обязательный. Обозначает начало свойства дочерней оси.
child Обязательный. Имя дочерних узлов для доступа к форме [prefix:]name.

- Prefix - необязательный. Префикс пространства имен XML для дочернего узла. Должно быть глобальным пространством имен XML, определенным с помощью оператора Imports.
- Name — обязательный. Имя локального дочернего узла. См . имена объявленных XML-элементов и атрибутов.
> Обязательный. Обозначает конец свойства дочерней оси.

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

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

Замечания

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

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

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

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

Пример 1

В следующем примере показано, как получить доступ к дочерним узлам phone из объекта contact.

Dim contact As XElement = 
    <contact>
        <name>Patrick Hines</name>
        <phone type="home">206-555-0144</phone>
        <phone type="work">425-555-0145</phone>
    </contact>

Dim homePhone = From hp In contact.<phone> 
                Where contact.<phone>.@type = "home" 
                Select hp

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

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

Home Phone = 206-555-0144

Пример 2

В следующем примере показано, как получить доступ к дочерним узлам с именем phone из коллекции, возвращенной свойством дочерней оси contact объекта contacts.

Dim contacts As XElement = 
    <contacts>
        <contact>
            <name>Patrick Hines</name>
            <phone type="home">206-555-0144</phone>
        </contact>
        <contact>
            <name>Lance Tucker</name>
            <phone type="work">425-555-0145</phone>
        </contact>
    </contacts>

Dim homePhone = From contact In contacts.<contact> 
                Where contact.<phone>.@type = "home" 
                Select contact.<phone>

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

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

Home Phone = 206-555-0144

Пример 3

В следующем примере ns объявляется как префикс пространства имен XML. Затем префикс пространства имен используется для создания литерала XML и доступа к первому дочернему узлу с полным именем ns:name.

Imports <xmlns:ns = "http://SomeNamespace"> 
 
Class TestClass4

    Shared Sub TestPrefix()
        Dim contact = <ns:contact>
                        <ns:name>Patrick Hines</ns:name>
                      </ns:contact>
        Console.WriteLine(contact.<ns:name>.Value)
    End Sub

End Class

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

Patrick Hines

См. также