【发布时间】:2010-11-02 16:01:37
【问题描述】:
我有一个 XPath 查询,它正在做我想做的事,即使用给定的谓词选择“姓氏”和“给定名称”的联合(它实际上是我需要的非此即彼的,但联合工作正常):
/header/authors/surname[./text() and @id='1']
|
/header/authors/given-names[./text() and @id='1']
但是这对我来说似乎过于冗长,我觉得应该可以做一些更简洁的事情,例如:
/header/authors/(surname|given-names)[./text() and @id='1']
...但是这个版本不是有效的 XPath。
谁能告诉我编写原始 XPath 表达式的一种更简洁的方法,它不需要将完整路径写入两次?
谢谢
理查德
【问题讨论】:
-
“非此即彼”是什么意思?
-
@Alejandro:给定一个 id,所需的元素可以是“姓氏”或“给定名称”。这就是我想说的。我认为这是我需要的联合。