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 子轴属性,从 XElementXDocument 对象,或从 XElementXDocument 对象的集合,按名称访问子代节点。 使用 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

另请参阅