XML 子轴属性 (Visual Basic)

提供对以下一项的子级的访问:XElement 对象、XDocument 对象、XElement 对象的集合或 XDocument 对象的集合。

语法

object.<child>

组成部分

术语 定义
object 必需。 XElement 对象、XDocument 对象、XElement 对象的集合或 XDocument 对象的集合。
.< 必需。 表示子轴属性的开头。
child 必需。 要访问的子节点的名称,形式为 [prefix:]name

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

返回值

XElement 对象的集合。

注解

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

Visual Basic 编译器转换子轴属性,以调用 Elements 方法。

XML 命名空间

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

示例 1

下面的示例演示如何从 contact 对象访问名为 phone 的子节点。

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

下面的示例演示如何从由 contacts 对象的 contact 子轴属性返回的集合访问名为 phone 的子节点。

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

另请参阅