使XSLT为XML到XML转换简单

问题描述:

我有这样的XML文档:使XSLT为XML到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

至于你说的你自己,这很简单 - 那么为什么要问? –

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

  1. 从根元素生成条目元素。
  2. 生成具有值元素的字符串值的@value属性的子元素。

的代码如下所示:

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