R
Ram
Hi,
I am new to PERL and i want to parse the xml file to csv with only 2
tags using perl.
Please help me out with this...
Sample of XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE FOF (View Source for full doctype...)>
- <FOF Name="BBH3" Previous="00001" Date="20070403">
- <OB cl="FOMessage.FIOMMessage.FIOMObject" no="1019.1008.51"
vr="1.43" od="1" mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<sp no="1008" nm="creationTime" mn="0" />
<tx no="1008" nm="author" mn="0" />
<nu no="1019" nm="revisionNo" mn="0" />
<sp no="1019" nm="createTimestamp" mn="0" />
<tx no="1019" nm="createUserID" mn="0" vl="WMS" />
<tx no="1019" nm="initiatorId" mn="0" />
<tx no="1019" nm="messageFromID" mn="0" />
<tx no="1019" nm="messageToID" mn="0" />
<fg no="1019" nm="isEndOfDelivery" mn="0" />
<fg no="1019" nm="isExecuted" mn="0" />
- <R no="1019" nm="fiomData">
- <RP mn="0">
- <OB cl="QuoteHolder.TopLevelObject.FIOMObject" no="208.1080.51"
vr="1.43" od="2" mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<cr no="208" nm="currency" mn="0" ky="1" vl="6 WKN 965642
Waehrung_BdB EO ISIN EU0009656420 BoersenkuerzelInland EUR
Waehrung_ISO4217 EUR DB_KEY 69" />
<R no="1080" nm="result" />
- <R no="1080" nm="vdpsInformation">
- <RP mn="0">
- <OB cl="VDPSInformation.FIOMObject" no="160.51" vr="1.43" od="3"
mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<fg no="160" nm="hasPendingActivities" mn="0" vl="FALSE" />
<tx no="160" nm="vstName" mn="0" vl="QuoteHolder" />
<tx no="160" nm="vstVersion" mn="0" vl="WM_003a" />
<em no="160" nm="foType" mn="0" dm="FOType" vl="500" />
<tx no="160" nm="createUserID" mn="0" vl="WMS" />
<sp no="160" nm="createTimestamp" mn="0" vl="05.07.2005 - 21:54:20
@0" />
<tx no="160" nm="updateUserID" mn="0" vl="WMS" />
<sp no="160" nm="updateTimestamp" mn="0" vl="03.04.2007 - 20:27:10
@0" />
<nu no="160" nm="vstQuality" mn="0" vl="10" />
<fg no="160" nm="isRelevant" mn="0" vl="TRUE" />
<tx no="160" nm="modificationReason" mn="0" />
<nu no="160" nm="revisionNo" mn="0" vl="939" />
<tx no="160" nm="remarks" mn="0" />
<fg no="160" nm="hasFutureMessages" mn="0" />
<nu no="160" nm="vstRequiredQuality" mn="0" vl="5" />
<tx no="160" nm="provider1Symbol" mn="0" ky="1" />
<tx no="160" nm="provider2Symbol" mn="0" ky="1" />
<tx no="160" nm="provider3Symbol" mn="0" ky="1" />
<em no="160" nm="dataStatusType" mn="0" dm="DataStatusType" />
<nu no="160" nm="vstMaximumQuality" mn="0" vl="10" />
<nu no="160" nm="newVstQuality" mn="0" />
<fg no="160" nm="isChecked" mn="0" />
<tx no="160" nm="messageInfo" mn="0" />
<fg no="160" nm="fotWizardIsDisabled" mn="0" />
<tx no="160" nm="foDBKey" mn="0" />
<fg no="160" nm="isOnDB" mn="0" vl="TRUE" />
<fg no="160" nm="isFastInsertion" mn="0" />
<em no="160" nm="priorityType" mn="0" dm="PriorityType" />
<R no="160" nm="genericInformations" />
<R no="160" nm="areaInformations" />
</OB>
</RP>
</R>
<R no="1080" nm="control" />
<R no="1080" nm="pendingActivity" />
<R no="1080" nm="pendingChange" />
- <WR no="208" tn="BTID3" nm="instrument">
<id no="0_BTID3" tn="BTID3" nm="destinationKey" mn="0" vl="5
CommonCode 16245151 WKN 628946 ISIN DE0006289465 BoersenkuerzelInland
EXHA DB_KEY 18615" />
</WR>
- <R no="208" nm="recentQuoteValues">
- <RP mn="0">
- <OB cl="QuoteValue.FIOMObject" no="213.51" vr="1.43" od="4" mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1"
vl="20070314K01005L21NULK02_1_4" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<tx no="213" nm="quoteTypeIdSymbol" mn="0" vl="03_K02_1_4" />
<em no="213" nm="valueType" mn="0" dm="ValueType" vl="9001" />
<em no="213" nm="sizeStyleType" mn="0" dm="SizeStyleType" />
<em no="213" nm="reliabilityType" mn="0" dm="ReliabilityType" />
<fg no="213" nm="isCorrection" mn="0" />
<em no="213" nm="settlementCodeType" mn="0" dm="SettlementCodeType" /<em no="213" nm="settlementStatusType" mn="0"
dm="QuoteSettleStatusType" />
<em no="213" nm="valueStyleRefinedType" mn="0"
dm="ValueStyleRefinedType" vl="9121" />
<tx no="213" nm="quoteTypeSchemeSymbol" mn="0" vl="03_Fondspreise" /<em no="213" nm="fixingCapitalEventType" mn="0"
dm="FixingCapitalEventType" />
<lg no="213" nm="valueDescr" mn="0" />
<R no="213" nm="listingInformation" />
<R no="213" nm="providedService" />
<R no="213" nm="quoteListings" />
<RD no="213" nm="quoteType" mn="0" kyA="quoteTypeIdSymbol/
quoteTypeSchemeSymbol" />
</OB>
</RP>
My CSV file should be:
03042007
EU0009656420,130.97(quoteValue tag)
Please help me out with this...
I am new to PERL and i want to parse the xml file to csv with only 2
tags using perl.
Please help me out with this...
Sample of XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE FOF (View Source for full doctype...)>
- <FOF Name="BBH3" Previous="00001" Date="20070403">
- <OB cl="FOMessage.FIOMMessage.FIOMObject" no="1019.1008.51"
vr="1.43" od="1" mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<sp no="1008" nm="creationTime" mn="0" />
<tx no="1008" nm="author" mn="0" />
<nu no="1019" nm="revisionNo" mn="0" />
<sp no="1019" nm="createTimestamp" mn="0" />
<tx no="1019" nm="createUserID" mn="0" vl="WMS" />
<tx no="1019" nm="initiatorId" mn="0" />
<tx no="1019" nm="messageFromID" mn="0" />
<tx no="1019" nm="messageToID" mn="0" />
<fg no="1019" nm="isEndOfDelivery" mn="0" />
<fg no="1019" nm="isExecuted" mn="0" />
- <R no="1019" nm="fiomData">
- <RP mn="0">
- <OB cl="QuoteHolder.TopLevelObject.FIOMObject" no="208.1080.51"
vr="1.43" od="2" mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<cr no="208" nm="currency" mn="0" ky="1" vl="6 WKN 965642
Waehrung_BdB EO ISIN EU0009656420 BoersenkuerzelInland EUR
Waehrung_ISO4217 EUR DB_KEY 69" />
<R no="1080" nm="result" />
- <R no="1080" nm="vdpsInformation">
- <RP mn="0">
- <OB cl="VDPSInformation.FIOMObject" no="160.51" vr="1.43" od="3"
mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<fg no="160" nm="hasPendingActivities" mn="0" vl="FALSE" />
<tx no="160" nm="vstName" mn="0" vl="QuoteHolder" />
<tx no="160" nm="vstVersion" mn="0" vl="WM_003a" />
<em no="160" nm="foType" mn="0" dm="FOType" vl="500" />
<tx no="160" nm="createUserID" mn="0" vl="WMS" />
<sp no="160" nm="createTimestamp" mn="0" vl="05.07.2005 - 21:54:20
@0" />
<tx no="160" nm="updateUserID" mn="0" vl="WMS" />
<sp no="160" nm="updateTimestamp" mn="0" vl="03.04.2007 - 20:27:10
@0" />
<nu no="160" nm="vstQuality" mn="0" vl="10" />
<fg no="160" nm="isRelevant" mn="0" vl="TRUE" />
<tx no="160" nm="modificationReason" mn="0" />
<nu no="160" nm="revisionNo" mn="0" vl="939" />
<tx no="160" nm="remarks" mn="0" />
<fg no="160" nm="hasFutureMessages" mn="0" />
<nu no="160" nm="vstRequiredQuality" mn="0" vl="5" />
<tx no="160" nm="provider1Symbol" mn="0" ky="1" />
<tx no="160" nm="provider2Symbol" mn="0" ky="1" />
<tx no="160" nm="provider3Symbol" mn="0" ky="1" />
<em no="160" nm="dataStatusType" mn="0" dm="DataStatusType" />
<nu no="160" nm="vstMaximumQuality" mn="0" vl="10" />
<nu no="160" nm="newVstQuality" mn="0" />
<fg no="160" nm="isChecked" mn="0" />
<tx no="160" nm="messageInfo" mn="0" />
<fg no="160" nm="fotWizardIsDisabled" mn="0" />
<tx no="160" nm="foDBKey" mn="0" />
<fg no="160" nm="isOnDB" mn="0" vl="TRUE" />
<fg no="160" nm="isFastInsertion" mn="0" />
<em no="160" nm="priorityType" mn="0" dm="PriorityType" />
<R no="160" nm="genericInformations" />
<R no="160" nm="areaInformations" />
</OB>
</RP>
</R>
<R no="1080" nm="control" />
<R no="1080" nm="pendingActivity" />
<R no="1080" nm="pendingChange" />
- <WR no="208" tn="BTID3" nm="instrument">
<id no="0_BTID3" tn="BTID3" nm="destinationKey" mn="0" vl="5
CommonCode 16245151 WKN 628946 ISIN DE0006289465 BoersenkuerzelInland
EXHA DB_KEY 18615" />
</WR>
- <R no="208" nm="recentQuoteValues">
- <RP mn="0">
- <OB cl="QuoteValue.FIOMObject" no="213.51" vr="1.43" od="4" mn="0">
<tx no="51" nm="provider1ID" mn="0" ky="1" />
<tx no="51" nm="provider2ID" mn="0" ky="1"
vl="20070314K01005L21NULK02_1_4" />
<tx no="51" nm="provider3ID" mn="0" ky="1" />
<tx no="213" nm="quoteTypeIdSymbol" mn="0" vl="03_K02_1_4" />
<em no="213" nm="valueType" mn="0" dm="ValueType" vl="9001" />
<em no="213" nm="sizeStyleType" mn="0" dm="SizeStyleType" />
<em no="213" nm="reliabilityType" mn="0" dm="ReliabilityType" />
<fg no="213" nm="isCorrection" mn="0" />
<em no="213" nm="settlementCodeType" mn="0" dm="SettlementCodeType" /<em no="213" nm="settlementStatusType" mn="0"
dm="QuoteSettleStatusType" />
<em no="213" nm="valueStyleRefinedType" mn="0"
dm="ValueStyleRefinedType" vl="9121" />
<tx no="213" nm="quoteTypeSchemeSymbol" mn="0" vl="03_Fondspreise" /<em no="213" nm="fixingCapitalEventType" mn="0"
dm="FixingCapitalEventType" />
<lg no="213" nm="valueDescr" mn="0" />
<R no="213" nm="listingInformation" />
<R no="213" nm="providedService" />
<R no="213" nm="quoteListings" />
<RD no="213" nm="quoteType" mn="0" kyA="quoteTypeIdSymbol/
quoteTypeSchemeSymbol" />
</OB>
</RP>
My CSV file should be:
03042007
EU0009656420,130.97(quoteValue tag)
Please help me out with this...