Read xml file and write data to a txt file using PERL.... urgent

Discussion in 'Perl Misc' started by Ram, Apr 17, 2007.

  1. Ram

    Ram Guest

    Hi,

    I am new to perl and xml.... please help me out with the following as
    this is urgent:
    Can anyone help me with the code....

    I have a xml file:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE FOF (View Source for full doctype...)>
    - <FOF Name="BBH3" Date="20070413" Last="1">
    - <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" vl="iss-
    blade4.local.wmgruppe.de_21221_2_0" />
    <tx no="1019" nm="messageToID" mn="0" vl="iss-
    blade4.local.wmgruppe.de_21221_2_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="3">
    <tx no="51" nm="provider1ID" mn="0" ky="1" />
    <tx no="51" nm="provider2ID" mn="1" ky="1" vl="WMS" ov="" />
    <tx no="51" nm="provider3ID" mn="0" ky="1" />
    <cr no="208" nm="currency" mn="4" 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="3">
    <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="4" 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="4" dm="FOType" vl="500" />
    <tx no="160" nm="createUserID" mn="0" vl="WMS" />
    <sp no="160" nm="createTimestamp" mn="0" vl="05.07.2005 - 22:02:15
    @0" />
    <tx no="160" nm="updateUserID" mn="3" vl="WMS" ov="unknown" />
    <sp no="160" nm="updateTimestamp" mn="3" vl="16.04.2007 - 10:24:40
    @0" ov="15.04.2007 - 11:26:04 @0" />
    <nu no="160" nm="vstQuality" mn="4" vl="10" />
    <fg no="160" nm="isRelevant" mn="4" vl="TRUE" />
    <tx no="160" nm="modificationReason" mn="0" />
    <nu no="160" nm="revisionNo" mn="3" vl="529" ov="528" />
    <tx no="160" nm="remarks" mn="0" />
    <fg no="160" nm="hasFutureMessages" mn="0" />
    <nu no="160" nm="vstRequiredQuality" mn="4" 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="1" vl="10" ov="" />
    <fg no="160" nm="isChecked" mn="0" />
    <tx no="160" nm="messageInfo" mn="0" />
    <fg no="160" nm="fotWizardIsDisabled" mn="0" />
    <em no="160" nm="blockingCodeType" mn="0" dm="BlockingCodeType" />
    <em no="160" nm="logicDeletionType" mn="0" dm="LogicDeletionType" /
    >

    <tx no="160" nm="foDBKey" mn="0" />
    <fg no="160" nm="isOnDB" mn="4" 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="3" vl="1 WKN
    977961" ov="5 CommonCode 8492301 WKN 977961 ISIN DE0009779611
    BoersenkuerzelInland FPJB DB_KEY 18022" />
    </WR>
    - <R no="208" nm="recentQuoteValues">
    - <RP mn="0">
    - <OB cl="QuoteValue.FIOMObject" no="213.51" vr="1.43" od="4" mn="1">
    <tx no="51" nm="provider1ID" mn="0" ky="1" />
    <tx no="51" nm="provider2ID" mn="1" ky="1"
    vl="20070413K01005L21NULK02_1_4" ov="20070413K01005L21NULK02_1_4" />
    <tx no="51" nm="provider3ID" mn="0" ky="1" />
    <tx no="213" nm="quoteTypeIdSymbol" mn="1" vl="03_K02_1_4"
    ov="03_K02_1_4" />
    <em no="213" nm="valueType" mn="1" dm="ValueType" vl="9001"
    ov="9001" />
    <ft no="213" nm="quoteValue" mn="1" vl="75.35" ov="75.35" />
    <em no="213" nm="valueStyleType" mn="1" dm="ValueStyleType" vl="5"
    ov="5" />
    <ft no="213" nm="quoteSize" mn="0" />
    <sp no="213" nm="quoteTime" mn="1" vl="13.04.2007 - 99:99:99 @99"
    ov="13.04.2007 - 99:99:99 @99" />
    <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" />
    <sp no="213" nm="validUntil" mn="0" />
    <em no="213" nm="settlementTimeType" mn="0" dm="SettlementTimeType" /
    >

    <em no="213" nm="settlementCodeType" mn="0" dm="SettlementCodeType" /
    >

    <em no="213" nm="settlementStatusType" mn="0"
    dm="QuoteSettleStatusType" />
    <em no="213" nm="valueStyleRefinedType" mn="1"
    dm="ValueStyleRefinedType" vl="9121" ov="9121" />
    <tx no="213" nm="quoteTypeSchemeSymbol" mn="1" vl="03_Fondspreise"
    ov="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>
    - <RP mn="0">
    - <OB cl="QuoteValue.FIOMObject" no="213.51" vr="1.43" od="5"
    mn="1">
    <tx no="51" nm="provider1ID" mn="0" ky="1" />
    <tx no="51" nm="provider2ID" mn="1" ky="1"
    vl="20070413K02004L21NULK02_1_4" ov="20070413K02004L21NULK02_1_4" />
    <tx no="51" nm="provider3ID" mn="0" ky="1" />
    <tx no="213" nm="quoteTypeIdSymbol" mn="1" vl="03_K02_1_4"
    ov="03_K02_1_4" />
    <em no="213" nm="valueType" mn="1" dm="ValueType" vl="9002"
    ov="9002" />
    <ft no="213" nm="quoteValue" mn="1" vl="71.76" ov="71.76" />
    <em no="213" nm="valueStyleType" mn="1" dm="ValueStyleType" vl="4"
    ov="4" />
    <ft no="213" nm="quoteSize" mn="0" />
    <sp no="213" nm="quoteTime" mn="1" vl="13.04.2007 - 99:99:99 @99"
    ov="13.04.2007 - 99:99:99 @99" />
    <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" />
    <sp no="213" nm="validUntil" mn="0" />
    <em no="213" nm="settlementTimeType" mn="0"
    dm="SettlementTimeType" />
    <em no="213" nm="settlementCodeType" mn="0"
    dm="SettlementCodeType" />
    <em no="213" nm="settlementStatusType" mn="0"
    dm="QuoteSettleStatusType" />
    <em no="213" nm="valueStyleRefinedType" mn="1"
    dm="ValueStyleRefinedType" vl="9121" ov="9121" />
    <tx no="213" nm="quoteTypeSchemeSymbol" mn="1" vl="03_Fondspreise"
    ov="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>
    - <R no="208" nm="providedService">
    - <RP mn="0">
    - <OB cl="ProvidedService.FIOMObject" no="310.51" vr="1.43" od="11"
    mn="4">
    <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" />
    <dt no="310" nm="beginDate" mn="0" />
    <dt no="310" nm="endDate" mn="0" />
    - <WR no="310" tn="BTID2" nm="institution">
    <id no="0_BTID2" tn="BTID2" nm="destinationKey" mn="3" vl="1
    Institution 848758" ov="5 Abwicklungsstelle 4039 Betreuer 4039
    Institution 848758 IBEI DE08487588 DB_KEY 54487" />
    </WR>
    - <WR no="310" tn="BTID5" nm="instrumentService">
    <id no="0_BTID5" tn="BTID5" nm="destinationKey" mn="4" vl="1
    InvestmentFondsPreise WMGruppe" />
    </WR>
    </OB>
    </RP>
    </R>
    </OB>
    </RP>
    </R>
    </OB>

    Output:
    I need a perl script and the output (txt file) of the perl script is
    as follows:
    #(ISIN, valueType, quoteValue,quoteTime)
    DE0009779611,9001,75.35,20070413
    DE0009779612,9001,97.12,20070413
    ..
    ..

    Need to take the Date from the header ie 3rd line and compare it with
    the date in quoteTime. If the date matches, write it into txt file.If
    it doesn't match, then discard
    Here i need to get only the quoteValue for valueType =9001 and not for
    9002

    Would appreciate if anyone helps me with this
     
    Ram, Apr 17, 2007
    #1
    1. Advertising

  2. Ram

    Scott Bryce Guest

    Ram wrote:

    > Hi,
    >
    > I am new to perl and xml....


    Start here: http://search.cpan.org/~grantm/XML-Simple-2.16/lib/XML/Simple.pm

    Give it your best shot. Someone here may be able to help you tweak your
    code.

    > please help me out with the following as
    > this is urgent:
    > Can anyone help me with the code....


    I doubt you will get anyone here to write this for you, but plenty of
    people will be willing to help if you give it a try yourself.
     
    Scott Bryce, Apr 17, 2007
    #2
    1. Advertising

  3. Ram wrote:
    > Hi,
    >
    > I am new to perl and xml.... please help me out with the following as
    > this is urgent:


    It's not urgent to me.

    --
    Gunnar Hjalmarsson
    Email: http://www.gunnar.cc/cgi-bin/contact.pl
     
    Gunnar Hjalmarsson, Apr 17, 2007
    #3
  4. <> wrote:

    > I use RXParse module.



    There's one born every minute.


    --
    Tad McClellan SGML consulting
    Perl programming
    Fort Worth, Texas
     
    Tad McClellan, Apr 26, 2007
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. sweety
    Replies:
    9
    Views:
    1,056
    Richard Heathfield
    Feb 7, 2006
  2. Sameen
    Replies:
    2
    Views:
    464
    Victor Bazarov
    Aug 29, 2005
  3. Jochen Brenzlinger
    Replies:
    7
    Views:
    5,775
    Roedy Green
    Sep 15, 2011
  4. Cool Wong
    Replies:
    3
    Views:
    126
    James Edward Gray II
    Jun 20, 2007
  5. Replies:
    5
    Views:
    98
    Chris Angelico
    May 14, 2014
Loading...

Share This Page