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