XML入门教程:XPath-XML/XSLT

2019-03-28 14:17:38王冬梅
child 包含当前节点的儿子 descendent 包含当前节点的后代,后代不包含属性(attribute)或名称域(namespace)节点 parent 包含当前节点的父亲 ancestor 包含当前节点的祖先,祖先总是包含根节点 following-sibling 包含当前节点随后的所有节点树,但不包含attribute或namespace节点 preceding-sibling 包含当前节点之前的所有节点树,但不包含attribute或namespace节点 following 包含当前节点随后的所有节点,following轴排除了当前节点的后代和attribute或namespace节点 preceding 包含当前节点之前的所有节点,following轴排除了当前节点的后代和attribute或namespace节点 attribute 包含当前节点的所有属性 namespace 包含当前节点的所有namespace节点 self 只包含当前节点 descendent-or-self 包含当前节点和当前节点的后代 ancestor-or-self 包含当前节点和当前节点的祖先

3.谓词
XPath表达式可以匹配多个节点,如需对匹配的节点进行进一步的筛选,可以使用谓词。
Table6.3.选择节点常用谓词 谓词 描述 select="E" 选择是当前节点的孩子的E元素 select="" 选择当前节点的孩子的所有元素 select="text()" 选择当前节点的文本节点孩子 select="@name" 选择当前节点的name属性 select="@*" 选择当前节点的所有属性 select="E[1]" 选择当前节点的孩子的第一个E元素 select="E[last()]" 选择当前节点的孩子的最后一个E元素 select="*/E" 选择当前节点的孙了的所有E元素 select="E//F" 选择从当前节点的孩子的E元素派生而来的元素F select="//" 选择根元素 select="//E" 选择从根节点派生而来的E元素 select="//E/F" 选择所有是从根节点派生而来的E元素的孩子的F元素 select="." 选择当前节点 select=".//E" 选择从当前节点派生而来的所有E元素 select=".." 选择当前节点的父节点 select="../@name" 选择当前节点的父节点的name属性 select="E[@name='foo']" 选择所有是当前节点的孩子,并且其name属性具有foo值的E属性,除等号外,还可用<,>,<=,>=和!= select="E[@foo and @bar]" 选择所有包含foo和bar属性的E元素