提供对下列子代的访问权限:对象 XElement 、对象、 XDocument 对象的集合 XElement 或对象的集合 XDocument 。
语法
object...<descendant>
部件
object
必填。 对象 XElement 、 XDocument 对象、对象的集合 XElement 或对象的集合 XDocument 。
...<
必填。 表示后代轴属性的开始。
descendant
必填。 要访问的后代节点的名称,形式为 [prefix:]name
.
部件 | DESCRIPTION |
---|---|
prefix |
可选。 子代节点的 XML 命名空间前缀。 必须是使用 Imports 语句定义的全局 XML 命名空间。 |
name |
必填。 后代节点的本地名称。 请参阅 声明的 XML 元素和属性的名称。 |
>
必填。 表示后代轴属性的末尾。
返回值
XElement 对象的集合。
注解
可以使用 XML 后代轴属性通过名称从XElement或XDocument对象或对象集合或对象访问XElementXDocument子代节点。 使用 XML Value
属性访问返回的集合中第一个后代节点的值。 有关详细信息,请参阅 XML Value 属性。
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