【发布时间】:2016-11-07 12:41:19
【问题描述】:
XML 就像
<a id="1">
<b>value1</b>
<b>value2</b>
</a>
我想编写 XPath 来查找 <a> 的 id,其中将有两个 <b> 子节点具有固定值 value1 和 value2。我试图找出具有类似条件的 XPath
$xml->xpath('*[b=value1] | *[b=value2]');
value1 和 value2 存在于 <b> 节点中,但我无法完全按照我第一次使用 XPath 的方式获得。
【问题讨论】:
-
按值查找元素是个坏主意,因为微不足道的元素会找到获取值的元素...
-
@kjhughes 抱歉,但我真的不明白为什么按值搜索元素。通常,按 id 或以上的元素搜索将得到 value 元素,对不起我的英语。我认为阅读无法理解我的评论。
-
@Naumov:你说得对,基于
@id的搜索可能更可取,在这种情况下它看起来是可能的,但让我们怀疑他的真实情况更复杂,这只是一个简化的案例。根据元素的值搜索元素本质上并不是一个“坏主意”。谢谢。 -
@kjhughes 对不起,我的英语很糟糕,因为将俄语翻译成英语,将英语翻译成俄语,可能会出错。再次抱歉,向您致以最诚挚的问候。