【发布时间】:2010-08-05 13:33:56
【问题描述】:
我正在使用 Perl 和 XSL。我尝试将 <Interval> 的值更改为 XML 文件中的某个数字。我的 XML 如下所示:
<?xml version="1.0"?>
<Config>
<Enabled>false</Enabled>
<Interval>5</Interval>
</Config>
我的 XSL 如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="/Config/Interval">
<xsl:element name="PollingInterval">
<xsl:element name="Interval">77</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
问题是我的输出有两次元素<Interval>:
<?xml version="1.0"?>
<Config>
<Enabled>false</Enabled>
<Interval><Interval>77</Interval></Interval>
</Config>
请帮忙。
【问题讨论】:
-
好问题 (+1)。有关问题的解释和完整而简单的解决方案,请参阅我的答案。