理解X路径表达式

时间:2012-07-20 06:54:37

标签: xpath

我正在尝试理解XPath以解析diffxml文件。我浏览了w3schools网站。我能正确理解这些吗?

声明1:/node()[1]/node()[3]
选择根节点的第三个子节点

声明2:/node()[1]/node()[1]/node()[1]
选择根节点的第一个节点的子节点

陈述3:/node()[1]/node()[3]/node()[2]
选择根节点下第三个节点的第二个子节点。

2 个答案:

答案 0 :(得分:1)

是的,您正确理解它们,但这不是您使用XPath的方式。第一个node()可以是任何东西,而不仅仅是元素。那么纯索引可以说是选择事物的麦芽汁方式,你应该使用名称,并且可能使用谓词来过滤节点集。

答案 1 :(得分:1)

你会在这个网站上发现很多关于w3schools的批评。我个人觉得这是一个有用的资源,但只有当我试图提醒自己我曾经知道的事情时。它并非真正用于从头开始教自己的东西,我建议你需要一个不同的学习策略。叫我老式,但当我学习新技术时,我发现没有比一本好书更好的了。

据我所知,你已经正确理解了你的例子。但你知道什么是“节点”吗?例如,您知道在什么情况下空格文本计为节点吗?理解XPath的关键是理解数据模型,以及数据模型与XML的词法(角括号)形式相关的方式。