加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 07:54:12 所属栏目:百科 来源:网络整理
导读:我正在编写一个XSL转换.我想编写一个模板,它与文档的所有子元素匹配,除了一个特定的节点.我的xml看起来像这样 – Document NodeA/NodeA NodeB/NodeB ServiceNode/ServiceNode NodeX/NodeX/Document 我想写一个模板,匹配除ServiceNode之外的所有节点,即NodeA
我正在编写一个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)]">

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读