2012-11-08 114 views
5

需要來自XML和XSLT專家的幫助。XML到製表符分隔文本

我有2個樣本記錄從系統以XML格式導出,如下所示。我喜歡使用XSLT將數據轉換爲製表符分隔文本,如下所示https://docs.google.com/spreadsheet/ccc?key=0AgOV9Or8-zdzdG8yWTlRb1hWeUhzZG02MHA5TGxqR2c

對於XML新手來說,轉換有點複雜。如果有人能夠通過創建XSL文件來幫助我,我將不勝感激。

謝謝。

<?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是不是自由編程服務。你能否至少提供一些你已經嘗試過的代碼? –

回答

10

類似的東西應該工作作爲一個很好的起點

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

謝謝,那將是一個好開始:-) – user605179