2012-11-08 14 views
5

bisogno dell'aiuto degli esperti XML, XSLT.Da XML a Tab delimitato Testo

Ho 2 record di esempio esportati da un sistema in formato XML che è mostrato di seguito. Mi piace usare XSLT per convertire i dati in testo delimitato da tabulazione come mostrato qui https://docs.google.com/spreadsheet/ccc?key=0AgOV9Or8-zdzdG8yWTlRb1hWeUhzZG02MHA5TGxqR2c

La trasformazione è un po 'complessa per un principiante XML. Apprezzerei se qualcuno potesse aiutarmi creando un file XSL.

Grazie.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> 
<Results productTitle="XYZ DB/TextWorks" productVersion="11.00" xmlns:inm="http://www.xyz.com/webpublisher/query"> 
<Recordset setCount="2"> 
<Record setEntry="0"> 
<ID>282</ID> 
<TIL>TIL value</TIL> 
<SET>SET value</SET> 
<NOA>NOA value</NOA> 
<NOQ>NOQ value 1, NOQ value 2, NOQ value 3, NOQ value 4</NOQ> 
<LAN>LAN value</LAN> 
<CAL>CAL value</CAL> 
<INP>INP value</INP> 
<SUT>SUT value</SUT> 
<SUG>SUG value</SUG> 
<EDI>EDI value</EDI> 
<MEP /> 
<NOG>NOG value</NOG> 
<IDX>IDX value</IDX> 
<SAU /> 
<Database>Database value</Database> 
<Format>Format value 1</Format> 
<Format>Format value 2</Format> 
<Format>Format value 3</Format> 
<Format>Format value 4</Format> 
<DES /> 
<TYP /> 
<UTI /> 
<SUR /> 
<DATE /> 
<SystemID>530</SystemID> 
</Record> 
<Record setEntry="1"> 
<ID>373</ID> 
<TIL>TIL value</TIL> 
<SET>SET value</SET> 
<NOA>NOA value</NOA> 
<NOQ>NOQ value 1, NOQ value 2, NOQ value 3, NOQ value 4</NOQ> 
<LAN>LAN value 1</LAN> 
<LAN>LAN value 2</LAN> 
<LAN>LAN value 3</LAN> 
<CAL>CAL value</CAL> 
<INP>INP value</INP> 
<SUT>SUT value</SUT> 
<SUG /> 
<EDI>EDI value</EDI> 
<MEP /> 
<NOG>NOG value</NOG> 
<IDX>IDX value</IDX> 
<SAU /> 
<Database>Database value</Database> 
<Format>Format value</Format> 
<DES /> 
<TYP /> 
<UTI /> 
<SUR /> 
<DATE /> 
<SystemID>611</SystemID> 
</Record> 
</Recordset> 
</Results> 
+3

Stack Overflow non è un servizio di programmazione gratuito. Puoi almeno dare un po 'di codice che hai provato? –

risposta

10

Qualcosa del genere dovrebbe funzionare come un buon punto di partenza

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs"> 
<xsl:output method="xml" encoding="UTF-8" indent="yes"/> 
<xsl:template match="//Recordset"> 
<xsl:for-each select="Record"> 
     <xsl:value-of select="ID"/> 
     <!-- tab char --> 
     <xsl:text>&#x9;</xsl:text> 
     <xsl:value-of select="TIL"/> 
     <xsl:text>&#x9;</xsl:text> 
     <xsl:value-of select="SET"/> 
     <xsl:text>&#x9;</xsl:text> 
     <!-- all other fields... --> 
     <xsl:value-of select="SystemID"/> 
     <!-- line feed char --> 
     <xsl:text>&#10;</xsl:text> 
     </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 
+0

Grazie, sarà un buon inizio :-) – user605179

Problemi correlati