繁体   English   中英

使用 xslt 的 xml 特定标签转换

[英]xml specific tag transformation using xslt

我的输入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 文件进行转换。

我只想更改名称为“aaa”的特定标签,其他标签将保持不变。

如果是这种情况,请尝试以下样式表:

<?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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM