2017-07-12 2 views
-1

XML(文書ヘッダ付き)をCSVに変換する - XMLファイル内の文書ヘッダを削除すると、期待されるCSV出力を得ることができますが、文書ヘッダを削除しないとXMLファイルで期待されるCSV出力が得られません。XML(文書ヘッダ付き)をCSVに変換

RPTID、DTTM、PgNb、LastPgInd、ID、ISSR 021/ACSET/00210002/20170628/000002,2017-06-28T00:00ここに私のXMLは、O/P期待

<?xml version="1.0" encoding="UTF-8"?> 
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:secl.010.001.03"> 
    <SttlmOblgtnRpt> 
    <RptParams> 
     <RptId>021/ACSET/00210002/20170628/000002</RptId> 
     <RptDtAndTm> 
     <DtTm>2017-06-28T00:00:00</DtTm> 
     </RptDtAndTm> 
    </RptParams> 
    <Pgntn> 
     <PgNb>1</PgNb> 
     <LastPgInd>true</LastPgInd> 
    </Pgntn> 
    <ClrMmb> 
     <PrtryId> 
     <Id>00210002</Id> 
     <Issr>SETTLING MEMBER</Issr> 
     </PrtryId> 
    </ClrMmb> 
    <RptDtls> 
    </RptDtls> 
    </SttlmOblgtnRpt> 
</Document> 

次のとおりです。 00/1、true、00210002、SETTLING会員

ここで、XMLファイル内のドキュメントヘッダーを削除すると、o/pが正しく取得されていますが、要件文書のヘッダーがそこにあるはずですが、削除できません。私を助けてください....ありがとう。

+2

** 1 **を参照してください:。https://stackoverflow.com/questions/34758492/xslt-transform-doesnt-work -until-i-remove-root-node/34762628#34762628 ** 2。**動作させることができない場合は、現在のXSLTを投稿してください。 –

+0

こんにちはマイケル..それは私のために働いていない下に私のXSLTを見てください – Mahesh

+0

与えられたアドバイスを実装していないので、それは動作していません。 –

答えて

0

はこのようにそれを試してみてください。

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
xmlns:iso="urn:iso:std:iso:20022:tech:xsd:secl.010.001.03" 
exclude-result-prefixes="iso"> 
<xsl:output method="text" encoding="UTF-8" /> 

<xsl:template match="/iso:Document"> 
    <!-- header --> 
    <xsl:text>RptId,DtTm,PgNb,LastPgInd,Id,Issr&#10;</xsl:text> 
    <xsl:for-each select="iso:SttlmOblgtnRpt"> 
     <xsl:value-of select="iso:RptParams/iso:RptId" /> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="iso:RptParams/iso:RptDtAndTm/iso:DtTm" /> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="iso:Pgntn/iso:PgNb" /> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="iso:Pgntn/iso:LastPgInd" /> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="iso:ClrMmb/iso:PrtryId/iso:Id" /> 
     <xsl:text>,</xsl:text> 
     <xsl:value-of select="iso:ClrMmb/iso:PrtryId/iso:Issr" /> 
     <xsl:text>&#10;</xsl:text> 
    </xsl:for-each> 
</xsl:template> 

</xsl:stylesheet> 
+0

ありがとうAlotマイケル....それは私のためにうまくいく.... :) – Mahesh

関連する問題