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