我输入的xml文件:
<?xml version='1.0' encoding='utf-8'?>
<document form='def'>
<item name="aaa">
<text>value1</text>
</item>
<item name="bbb">
<text>value2</text>
</item>
</document>
所需的xml文件作为输出:
<?xml version='1.0' encoding='utf-8'?>
<document form='def'>
<CRSCINPUT>
<aaa>
value1
</aaa>
</CRSCINPUT>
</document>
请提供xslt文件进行转换。
我只想更改名称为&#34; aaa&#34;的特定标签。其他标签将保持不变。
答案 0 :(得分:0)
如果是这种情况,请尝试以下样式表:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- apply an identity template -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<!-- then match the node that you want to change -->
<xsl:template match="item[@name='aaa']">
<CRSCINPUT>
<xsl:element name="{@name}">
<xsl:value-of select="."/>
</xsl:element>
</CRSCINPUT>
</xsl:template>
</xsl:stylesheet>
这导致:
<?xml version="1.0" encoding="utf-8"?>
<document form="def">
<CRSCINPUT>
<aaa>value1</aaa>
</CRSCINPUT>
<item name="bbb">
<text>value2</text>
</item>
</document>