我正在研究 XPath 轴,我能够理解以下所有轴
'祖先'
| “祖先或自我”
| '属性'
| '孩子'
| '后裔'
| “后代或自己”
| '下列的'
| “以下兄弟姐妹”
| ‘父母’
| '前'
| '前兄弟'
| '自己'
我唯一无法理解的轴是
| '命名空间'
谁能给我一个很好的例子并理解“命名空间”的实际作用?
例子:-
Open :- https://www.google.co.in/ https://www.google.co.in/
OR
HTML代码
<a style="left:-1000em;position:absolute" href="/setprefs?suggon=2&prev=https://www.google.co.in/&sig=0_ujdR1PrGxEbi_EiD6RbIb4VvaXc%3D">Screen-reader users, click here to turn off Google Instant.</a>
我正在尝试下面的xpath
//a[@style='left:-1000em;position:absolute']/namespace::*[name()='google']
我在上面的命名空间中做错了什么?
另外我还想知道axes有什么用| '属性'。在什么地方和什么情况下它是有帮助的
namespace::
轴选择命名空间节点 https://www.w3.org/TR/xpath/#namespace-nodes。没有什么花哨。
And 命名空间节点,根据链接的规格包括:
例如,给定以下 XML 元素:
<a xmlns:google="some namespace uri here"/>
XPath expression below will return the xmlns:google
attribute [demo http://www.xpathtester.com/xpath/45582cc8007bbcf8e327e454cc647360]. :
//a/namespace::*[name()='google']
这个例子对应于上面提到的第一个要点,因为xmlns:google
is 属性,在上下文元素上<a>
,其名字开头为xmlns:
.
类似的解释也适用于attribute
轴;它只是选择 XML 属性。
你可以考虑attribute
轴作为更长的版本@
你已经在使用了。例如,下面的两个表达式含义相同:
//a[attribute::style='left:-1000em;position:absolute']
//a[@style='left:-1000em;position:absolute']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)