1

考虑这个xml:

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

还有这个xml

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

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

澄清...永远不会有 2 个子节点,每个节点分别命名为alphabeta

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

我试过这个...

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

...但它不起作用。

我应该如何返回这个值..?

更新:我修改了样本以确保它们形成良好,因为一个答案表明它们不是。

4

2 回答 2

7

尝试:

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

它也应该在没有括号的情况下工作。

于 2009-10-09T11:54:29.847 回答
1

XML 似乎格式不正确,它应该是:

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

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

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

于 2009-10-09T12:37:38.127 回答