使用XSL替换XML元素文本

时间:2018-01-18 19:35:26

标签: xml xslt

我需要使用XSL将6.4.2替换为6.3.5。我是XSL的新手,可以使用一些帮助。提前谢谢!

<?xml version="1.0" encoding="UTF-8"?>
<Transmission>
    <TransmissionHeader>
        <Version>6.4.2</Version>

1 个答案:

答案 0 :(得分:0)

实际上你想要替换 Version 元素的内容, 并非源XML中每次出现此文本。 我还假设您的XML包含只有一个这样的元素 我们对其来源内容不感兴趣。

最简单的方法是编写一个匹配此元素的模板。 就其内容而言,最简单的写作方式 它是使用新的(已更改的)内容生成文字元素

要“按原样”复制所有剩余内容,您需要身份模板

所以整个脚本cal如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
  <xsl:output indent="yes" />

  <xsl:template match="Version">
    <Version>6.3.5</Version>
  </xsl:template>

  <xsl:template match="@*|node()">
    <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy>
  </xsl:template>
</xsl:transform>