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

我正在编写一个XSL转换.我想编写一个模板,它与文档的所有子元素匹配,除了一个特定的节点.我的xml看起来像这样 –
<Document>
    <NodeA></NodeA>

    <NodeB></NodeB>

    <ServiceNode></ServiceNode>

    <NodeX></NodeX>
</Document>

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

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

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

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

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

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

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

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

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

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

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

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念