需要
XML,XSLT专家的帮助.
我有一个XML格式的系统导出的2个样本记录,如下所示.我喜欢使用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 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>
这样的事情应该是一个很好的起点
<?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>	</xsl:text> <xsl:value-of select="TIL"/> <xsl:text>	</xsl:text> <xsl:value-of select="SET"/> <xsl:text>	</xsl:text> <!-- all other fields... --> <xsl:value-of select="SystemID"/> <!-- line Feed char --> <xsl:text> </xsl:text> </xsl:for-each> </xsl:template> </xsl:stylesheet>