2016-08-21 4 views
-1

ich eine solche XML-Dokument haben:machen XSLT für XML zu XML einfache Transformation

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

ich in andere XML übertragen möchten:

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

Was XSLT-Dokument wird erkennen, eine solche Transformation?

+1

Wie Sie selbst sagen, das ist einfach - so zu fragen, warum brauchen? –

Antwort

1

Dies ist grundlegende XSLT Frage. Die Anforderungen sind:

  1. Generieren Sie Einträge Element von Root-Element.
  2. Generieren Sie das Unterelement mit dem @ value-Attribut, das den Zeichenfolgenwert des value-Elements hat.

Der Code ist unten dargestellt:

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