Xml 如何读取此XPath代码
我正在学习XPath,我发现了一个我不太理解的例子。有人能“翻译”它吗 匹配的xpath:Xml 如何读取此XPath代码,xml,xpath,Xml,Xpath,我正在学习XPath,我发现了一个我不太理解的例子。有人能“翻译”它吗 匹配的xpath: //span[@class='username']/../../..//span[@class='commentDate'] 相对xpath: /../../..//span[@class='commentDate'] 这是否意味着:它选择了在元素/属性(类/用户名)和元素/属性(类/注释日期)之间具有属性“注释日期”的所有“类”元素 我真的不理解这部分/../../../让我们让您了解一下您的xpa
//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的整体结构,如果有任何更改,它将中断。当然!感谢您的全面解释!:)如果答案解决了您的问题,请接受答案。谢谢