XML 后代轴属性 (Visual Basic)
提供对以下一项的子级的访问:XElement 对象、XDocument 对象、XElement 对象的集合或 XDocument 对象的集合。
语法
object...<descendant>
组成部分
object
(必需)。 XElement 对象、XDocument 对象、XElement 对象的集合或 XDocument 对象的集合。
...<
(必需)。 表示子轴属性的开头。
descendant
(必需)。 要访问的子节点的名称,形式为 [prefix:]name
。
组成部分 | 说明 |
---|---|
prefix |
可选。 子节点的 XML 命名空间前缀。 必须是使用 Imports 语句定义的全局 XML 命名空间。 |
name |
必需。 子代节点的本地名称。 请参阅 已声明的 XML 元素和特性的名称。 |
>
(必需)。 表示子轴属性的末尾。
返回值
XElement 对象的集合。
注解
可以使用 XML 子轴属性,从 XElement 或 XDocument 对象,或从 XElement 或 XDocument 对象的集合,按名称访问子代节点。 使用 XML Value
属性来访问返回的集合中第一个子代节点的值。 有关详细信息,请参阅 XML 值属性。
Visual Basic 编译器将子代轴属性转换为对 Descendants 方法的调用。
XML 命名空间
子轴属性中的名称仅可使用通过 Imports
语句全局声明的 XML 命名空间。 它不能使用在 XML 元素文本中局部声明的 XML 命名空间。 有关详细信息,请参阅 Imports 语句(XML 命名空间)。
示例 1
下面的示例演示如何访问名为 name
的第一个子代节点的值以及 contacts
对象中名为 phone
的所有子代节点的值。
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