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


Свойство дочерней оси 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

См. также