我正在寻找一个XPath表达式,它给了我一个元素的所有孙子。
这是正确的:孩子/孩子/ *?
答案 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()
这些是作为当前节点的子元素的所有元素的子节点。
请注意以下:
只有元素和文档节点可以有子项。
任何节点(文档节点除外),不仅是元素节点,都可以并且通常是某个其他节点的子节点。因此,可能存在不是元素的孙子 - 例如文本节点,注释节点和处理指令节点。属性和命名空间节点在技术上不是子节点。