7

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

1 に答える 1

16

そのようなものが良い出発点として機能するはずです

<?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>
于 2012-11-08T15:22:35.087 に答える