使XSLT for XML to XML简单转换

时间:2016-08-21 14:42:31

标签: xml xslt

我有这样的XML文档:

<?xml version=”1.0”?>
<root>
    <sub>
        <value>1</value>
    </sub>
    <sub>
        <value>2</value>
    </sub>
    <sub>
        <value>3</value>
    </sub>
</root>

我想转移到其他XML:

<?xml version=”1.0”?>
<entries>
    <sub value="1">
    <sub value="2">
    <sub value="3">
</entries>

什么XSLT文档会实现这样的转变?

1 个答案:

答案 0 :(得分:1)

这是基本的XSLT问题。要求是:

  1. 从根元素生成条目元素。
  2. 使用@value属性生成具有值元素的字符串值的子元素。
  3. 代码如下所示:

    <?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:template match="root">
            <entries>
                <xsl:apply-templates/>
            </entries>
        </xsl:template>
    
        <xsl:template match="sub">
            <xsl:copy>
                <xsl:attribute name="value">
                    <xsl:value-of select="string(value)"/>
                </xsl:attribute>
            </xsl:copy>
        </xsl:template>
    </xsl:stylesheet>