2012-11-08 25 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

スタックオーバーフローが無料のプログラミングサービスではありません。あなたが試したコードを少なくとも与えることができますか? –

答えて

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

関連する問題