XPath表达式:
'.//div/concat(@id, " - ", @class)'
失败并显示错误:
The expression is not a legal expression.
Firefox 25.0中的(来自用户脚本)。
为什么以及如何解决?
输入:
<div id='id1' class='class1'>
sample
</div>
<div id='id2' class='class2'>
sample
</div>
我想获得两个单独的字符串:
id1 - class1
id2 - class2
答案 0 :(得分:2)
Firefox仅支持XPath 1.0,但您的表达式需要XPath 2.0。在XPath 1.0中没有等价物(您的表达式返回一个字符串序列,这是XPath 1.0中不存在的数据类型)。
您是从XSLT还是从Javascript调用此XPath?无论哪种方式,您都必须使用宿主语言而不是XPath进行工作。
答案 1 :(得分:1)
我认为你应该这样做:
<强> HTML 强>
<div id='foo' class='bax'>
sample
</div>
<强> XPATH 强>
concat(//div/@id, " - ",//div/@class)
或
(//div)/concat(@id,' - ',@class)
<强>输出强>
foo - bax