我想使用XPath
选择此元素:
<a href="#" onClick="onViewDocument('2016', '1');">2016</a>
到目前为止,我有这个:
//a[@onClick='onViewDocument('2016', '1');']
我是否需要绕过2016
和1
周围的单引号?
答案 0 :(得分:3)
最简单的方法通常是使用'
或"
的替代方法,具体取决于字符串文字周围已使用的内容。
如果这不可行,另一种方法是使用'
'
(单引号):
//a[@onClick='onViewDocument('2016', '1');']
请注意,您可以"
使用"
(双引号)。
参考: XML Path Language (XPath) Version 1.0 :
XPath表达式经常出现在XML属性中。指定的语法 本节适用于XML 1.0之后的属性值 正常化。因此,例如,如果语法使用字符
<
, 这不能作为<
出现在XML源代码中,但必须引用 例如,根据XML 1.0规则,将其输入为<
。 在表达式中,文字字符串由单个或双重分隔 引号,也用于分隔XML属性。至 避免XML解释的表达式中的引号 处理器作为终止引号可以的属性值 作为字符引用输入("
或'
)。或者, 如果XML属性是,则表达式可以使用单引号 用双引号分隔,反之亦然。
答案 1 :(得分:0)
这适用于'
中包含onclick
的所有元素:
//a[contains(@onclick, "'")]
这是针对您尝试匹配的特定元素:
//a[@onClick="onViewDocument('2016', '1')"]