XML 子轴属性 (Visual Basic)

提供对以下项目之一的子项的访问权限:XElement 对象,XDocument 对象,XElement 对象集合,或者 XDocument 对象集合。

语法

object.<child>

部件

术语 定义
object 必填。 对象 XElementXDocument 对象、对象的集合 XElement 或对象的集合 XDocument
.< 必填。 表示子轴属性的开始。
child 必填。 要访问的子节点的名称,窗体 [prefix:]name

- Prefix -自选。 子节点的 XML 命名空间前缀。 必须是使用 Imports 语句定义的全局 XML 命名空间。
- Name -必填。 本地子节点名称。 请参阅 声明的 XML 元素和属性的名称
> 必填。 表示子轴属性的末尾。

返回值

XElement 对象的集合。

注解

可以使用 XML 子轴属性通过名称从或XElementXDocument对象或对象集合XElementXDocument访问子节点。 使用 XML Value 属性访问返回的集合中第一个子节点的值。 有关详细信息,请参阅 XML Value 属性

Visual Basic 编译器将子轴属性转换为对方法的 Elements 调用。

XML 命名空间

子轴属性中的名称只能使用用语句全局声明的 Imports XML 命名空间前缀。 它不能使用 XML 元素文本中在本地声明的 XML 命名空间前缀。 有关详细信息,请参阅 Imports 语句(XML 命名空间)

示例 1

以下示例演示如何访问从对象命名 phonecontact 子节点。

Dim contact As XElement = 
    <contact>
        <name>Patrick Hines</name>
        <phone type="home">206-555-0144</phone>
        <phone type="work">425-555-0145</phone>
    </contact>

Dim homePhone = From hp In contact.<phone> 
                Where contact.<phone>.@type = "home" 
                Select hp

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

此代码显示以下文本:

Home Phone = 206-555-0144

示例 2

以下示例演示如何访问从对象子轴属性返回的集合中contact命名phonecontacts子节点。

Dim contacts As XElement = 
    <contacts>
        <contact>
            <name>Patrick Hines</name>
            <phone type="home">206-555-0144</phone>
        </contact>
        <contact>
            <name>Lance Tucker</name>
            <phone type="work">425-555-0145</phone>
        </contact>
    </contacts>

Dim homePhone = From contact In contacts.<contact> 
                Where contact.<phone>.@type = "home" 
                Select contact.<phone>

Console.WriteLine("Home Phone = {0}", homePhone(0).Value)

此代码显示以下文本:

Home Phone = 206-555-0144

示例 3

以下示例声明 ns 为 XML 命名空间前缀。 然后,它使用命名空间的前缀创建 XML 文本并访问具有限定名称 ns:name的第一个子节点。

Imports <xmlns:ns = "http://SomeNamespace"> 
 
Class TestClass4

    Shared Sub TestPrefix()
        Dim contact = <ns:contact>
                        <ns:name>Patrick Hines</ns:name>
                      </ns:contact>
        Console.WriteLine(contact.<ns:name>.Value)
    End Sub

End Class

此代码显示以下文本:

Patrick Hines

另请参阅