如何检索属性为X或Y的XML元素?

时间:2009-10-09 11:52:55

标签: xml xpath xml-attribute

考虑这个xml:

<parent>
    <child name="alpha" />
</parent>

还有这个xml

<parent>
    <child name="beta" />
</parent>

/ parent / child 应该只有一个sinlge节点,其中alpha或beeta为其名称值。

要澄清......永远不会有2个子节点,每个节点名为 alpha beta

我正在尝试创建一个单独的xpath查询,它将在这两种情况中返回 name 的值。

我试过了......

/parent/child[@name='alpha' | @name='beta']/@name

......但它不起作用。

我该如何归还此值..?

更新:我推荐了这些样本,以确保它们形成良好,因为一个答案表明它们没有。

2 个答案:

答案 0 :(得分:7)

尝试:

/parent/child[(@name='alpha') or (@name='beta')]/@name

它也应该没有括号。

答案 1 :(得分:1)

XML似乎没有格式良好,应该是:

<parent>
    <child name="alpha"/>
</parent>

<parent>
    <child name="beta"/>
</parent>

如果XML格式不正确,我不会期望有太多其他工作......