元素的孙子(XPath)

时间:2010-03-23 08:17:12

标签: xml xpath

我正在寻找一个XPath表达式,它给了我一个元素的所有孙子。

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

2 个答案:

答案 0 :(得分:3)

*/*让所有的孙子都看到http://www.caucho.com/resin-3.1/doc/xpath.xtp

答案 1 :(得分:3)

  

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

没有

child

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

child/child

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

您要问的XPath表达式:

child/child/*

选择作为名为child的元素的子元素的所有元素(无论名称),这些元素是名为child的元素的子元素,它们是当前节点的子元素。这些是当前节点的一些曾孙子女(孙子女的孩子)。

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

*/node()

这些是作为当前节点的子元素的所有元素的子节点。

请注意以下

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

  2. 任何节点(文档节点除外),不仅是元素节点,都可以并且通常是某个其他节点的子节点。因此,可能存在不是元素的孙子 - 例如文本节点,注释节点和处理指令节点。属性和命名空间节点在技术上不是子节点。