我有一个像这样的XML:XPath表达式-fails在Chrome但在IE工程,FF
<root>
<parent1>
<parent2>
<child label="single'quote"/>
<child label="double"quote"/>
</parent2>
<parent3/>
<parent4>
<child label = "single'quote"/>
</parent4>
</parent1>
</root>
我的目标是要选择具有特定标签的子节点,说single'quote
我可以使用XPath表达式,
//child[@label='single'quote']
这显然会抛出,因为在价值特殊字符“的错误。
我想出了一个解决方案中使用的逻辑:
设置属性虚设与标签的值的父节点,并比较这两个属性。 [新增虚拟= “single'quote”到parent1节点]
所以,我们可以与标签为 “single'quote” 读子节点使用:
//child[@label=//parent1/@dummy]
虽然它在IE和Firefox9中运行得非常好,但在Chrome21中却失败了。
逻辑有什么缺陷吗?我如何纠正Chrome的表达式?
非常感谢。
为什么你就不能使用'//子[@标签= “single'quote”]'? (或'//子[@ label = " single'quote "]'如果xpath在属性中使用了“) – 2012-08-14 06:04:00
@DevNull在这种情况下失败// child [@ label =”double " quote“ ]:( – Sowmiya 2012-08-14 06:12:47
@DextOr;)哎呀。 – Sowmiya 2012-08-14 06:14:24