首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何模板匹配根节点xslt的第一个子节点

如何模板匹配根节点xslt的第一个子节点
EN

Stack Overflow用户
提问于 2015-08-20 20:33:23
回答 1查看 618关注 0票数 0

我在谷歌上搜索了一个小时,我找到的答案都没有解决这个问题。

下面是我的xml的一个片段

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<project>
        <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>foobar</groupId>
        <artifactId>superpom</artifactId>
        <version>0.1.0.5</version>
    </parent>

        <artifactId>common-parent</artifactId>
        <version>0.2.0.4-SNAPSHOT</version>
    <packaging>pom</packaging>


    <properties>
        <protostuff.version>1.0.7</protostuff.version>
        <version>2.0.12.0</version>
    </properties>

我想要的是将第一个“版本”节点的值替换为其他的值。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<project>
        <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>foobar</groupId>
        <artifactId>superpom</artifactId>
        <version>0.1.0.5</version>
    </parent>

        <artifactId>common-parent</artifactId>
        <version>THIS HAS CHANGED</version>
    <packaging>pom</packaging>


    <properties>
        <protostuff.version>1.0.7</protostuff.version>
        <version>2.0.12.0</version>
    </properties>

到目前为止,这是我的xslt文件

代码语言:javascript
复制
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output omit-xml-declaration="yes" indent="yes"/>

    <xsl:param name="pReplacement" select="'THIS HAS CHANGED'"/>

    <xsl:template match="node()|@*">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="//version[2]">
        <xsl:value-of select="$pReplacement"/>
    </xsl:template>
</xsl:stylesheet>

我一直在玩“匹配”的价值,但没有什么效果。我试过“版本”、"/version“、"version2”。什么都没起作用。我不知道这是否重要,但我使用红帽子服务器上的xsltproc来运行转换。有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-20 20:47:47

使用

代码语言:javascript
复制
<xsl:template match="/project/version[1]">
  <xsl:copy>
    <xsl:value-of select="pReplacement"/>
  </xsl:copy>
</xsl:template>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32127871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档