2010-03-23 169 views
2

我正在寻找一个XPath expresssion,它给了我一个元素的所有孙子。元素的孙子女(XPath)

这是正确的:孩子/孩子/ *?

+0

好问题(+1)!看到正确的答案。提示:它不是当前选择的... :) – 2010-03-23 13:20:53

+0

是一个被认为是孙子的孩子的文本节点吗? – 2016-04-03 00:01:55

回答

3

这是正确的:孩子/儿童/ *?

没有,

child

选择当前的节点,其名称为child的所有子元素。

child/child

选择命名child即ARA名为child任何元素,它是当前节点的孩子的孩子的所有元素。 因此,上述表达式选择当前节点的所有孙子,名为child,其父母也被命名为child这是最接近“元素的孙子”。

则是问有关的XPath表达式:

child/child/*

选择(不论名称)被命名child元素的孩子是元素的孩子命名child是当前节点的所有子元素。这些是当前节点的一些盛大子孙(孙辈的子女)。

要完全回答这个问题,下面的表达式选择当前节点的所有孙子:

*/node()

这些是属于当前节点的所有子元素的所有子节点。

注意以下

  1. 只有元素和文档节点可以有孩子。

  2. 任何节点(不包括文档节点),不仅是元素节点,都可以并且通常是某个其他节点的子节点。因此,可能有孙子不是元素 - 例如文本节点,评论节点和处理指令节点。属性和名称空间节点在技术上不是儿童。