有两个XPath表达式:
//LI/A[normalize-space()="fullscreen"]
//LI/A["fullscreen"]
据我所知,normalize-space()
用于修剪字符串,如documentation中所述。那么这两个表达式应该具有相同的含义吗?
但可以评估第一个元素,以便在this web page中找到元素:
document.evaluate('//LI/A[normalize-space()="fullscreen"]', document).iterateNext();
,而第二个将找到不同的元素。
它们之间的区别是什么?
答案 0 :(得分:1)
第二个表达实际上没有多大意义。您设置为筛选select distinct a.username, a.mobile
from t_clm_ap30_user a,
T_CLM_AP30_RIGHT_AUTH t
where a.user_id = t.user_id
and t.right_id = rightid
and t.poolorgrange = to_char(orgid) ;
元素的唯一条件是“全屏”字符串,该字符串将始终评估为true。换句话说,a
相当于//LI/A["fullscreen"]
。
您可能打算检查元素的字符串值对//LI/A
:
fullscreen
同样重要的是要注意,当调用//LI/A[. = "fullscreen"]
时没有参数时,它会自动使用当前节点的字符串值作为参数。元素的节点字符串值为all text nodes within the element concatenated。