xml – 如何编写一个xpath来匹配除特定元素之外的所有元素

前端之家收集整理的这篇文章主要介绍了xml – 如何编写一个xpath来匹配除特定元素之外的所有元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在编写一个XSL转换.我想编写一个模板,它与文档的所有子元素匹配,除了一个特定的节点.我的xml看起来像这样 –
  1. <Document>
  2. <NodeA></NodeA>
  3.  
  4. <NodeB></NodeB>
  5.  
  6. <ServiceNode></ServiceNode>
  7.  
  8. <NodeX></NodeX>
  9. </Document>

我想写一个模板,匹配除ServiceNode之外的所有节点,即NodeA到NodeX.如何写这个Xpath来获取

  1. <xsl:template match="ALL Nodex Except ServiceNode">

I want to write a template that
matches all nodes except ServiceNode
i.e. NodeA to NodeX.

如果通过“节点”表示元素,则使用:

  1. <xsl:template match="*[not(self::ServiceNode)]">

如果通过“节点”表示任何节点(元素,文本,注释,处理指令):use

  1. <xsl:template match="node()[not(self::ServiceNode)]">

如果您只想要匹配文档的子项,请使用:

  1. <xsl:template match="Document/node()[not(self::ServiceNode)]">

如果你只想要匹配顶级元素的孩子使用:

  1. <xsl:template match="/*/node()[not(self::ServiceNode)]">

猜你在找的XML相关文章