使用 XSL 替换 XML 元素文本



我需要使用 XSL 将 6.4.2 替换为 6.3.5。 我对 XSL 很陌生,可以使用一些帮助。 提前谢谢你!

<?xml version="1.0" encoding="UTF-8"?>
<Transmission>
    <TransmissionHeader>
        <Version>6.4.2</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>

最新更新