Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 如何读取此XPath代码_Xml_Xpath - Fatal编程技术网

Xml 如何读取此XPath代码

Xml 如何读取此XPath代码,xml,xpath,Xml,Xpath,我正在学习XPath,我发现了一个我不太理解的例子。有人能“翻译”它吗 匹配的xpath: //span[@class='username']/../../..//span[@class='commentDate'] 相对xpath: /../../..//span[@class='commentDate'] 这是否意味着:它选择了在元素/属性(类/用户名)和元素/属性(类/注释日期)之间具有属性“注释日期”的所有“类”元素 我真的不理解这部分/../../../让我们让您了解一下您的xpa

我正在学习XPath,我发现了一个我不太理解的例子。有人能“翻译”它吗

匹配的xpath:

//span[@class='username']/../../..//span[@class='commentDate']
相对xpath:

/../../..//span[@class='commentDate']
这是否意味着:它选择了在元素/属性(类/用户名)和元素/属性(类/注释日期)之间具有属性“注释日期”的所有“类”元素


我真的不理解这部分
/../../../

让我们让您了解一下您的
xpath
以及一般的
xpath
术语

//span[@class='username']/../../../..//span[@class='commentDate']

xpath有两种类型:
Relative
Absolute
。顾名思义,
Relative
xpath
查找相对于另一个节点的节点(通常是以
/
开头的短节点),而
Absolute
xpath
通常从相应的
根节点识别节点(通常是以
html/body/…/…/…
开头的长字符)

开始时的单个
/
意味着从根开始进程,开始时的
/
意味着查找与
xpath
匹配的所有节点,这些节点可以位于
DOM
中的任何位置

对于您的
xpath
,它以
/
开头,意思是(用字面英语)找到所有
span
class
username
元素。元素后的一个斜杠表示它的
子元素
。但是,一个双斜杠。
表示该节点的
父节点
。因此,用
class=username
找到
span
并获取它的
父节点
。继续使用xpathts说找到它的
父母
,它的
父母
,它的
父母
,然后在最后一个
父母
子女
中找到一个
span
,而其
注释日期
。这个
子女
可以是
子女
孙子
曾孙
,如此n


希望这能描绘出某种画面。

相对路径没有前导的
/
。作为文件路径的一部分,
/../../
意味着什么?顺便说一句,这是一个非常“脆弱”的路径路径。它明确地取决于XML的整体结构,如果有任何更改,它将中断。当然!感谢您的全面解释!:)如果答案解决了您的问题,请接受答案。谢谢