Hello Mirod,
Let me be more accurate then ;)

Here's a shortened data sample :

<?xml version="1.0" encoding="UTF-8"?> <DSExport> <Header CharacterSet="ENGLISH" ExportingTool="Ascential DataStage E +xport" ToolVersion="4" ServerName="VILLETTE" ToolInstanceID="Portage" + Date="2006-03-29" Time="10.00.34" ServerVersion="7.5.1.A"/> <Job Identifier="adresses" DateModified="2006-03-28" TimeModified=" +17.15.15"> <Record Identifier="ROOT" DateModified="1899-12-30" TimeModified +="00.00.01" Type="JobDefn" Readonly="0"> <Property Name="Name">adresses</Property> <Property Name="Description">DFE/ job of addresses MAJ - 18/1 +1/2004</Property> <Property Name="ControlAfterSubr">1</Property> </Record> <Record Identifier="V0S0" DateModified="1899-12-30" TimeModified +="00.00.01" Type="CustomStage" Readonly="0"> <Property Name="AllowColumnMapping">0</Property> <Property Name="NextRecordID">0</Property> </Record> <Record Identifier="V0S0P1" DateModified="1899-12-30" TimeModifi +ed="00.00.01" Type="CustomOutput" Readonly="0"> <Property Name="Name">li_hf_adresses</Property> <Property Name="Partner">V0S1</Property> <Collection Name="Properties" Type="CustomProperty"> <SubRecord> <Property Name="Name">TABLE</Property> <Property Name="Value">APPS.RA_ADDRESSES_ALL</Property> </SubRecord> <SubRecord> <Property Name="Name">USERSQL</Property> <Property Name="Value" PreFormatted="1"> SELECT ADDRESS_ID,LAST_UPDATE_DATE,LAST_UPDATED_BY,CREA +TION_DATE,CREATED_BY,COUNTRY,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,CITY +,POSTAL_CODE,STATE,PROVINCE,COUNTY FROM APPS.RA_ADDRESSES_ALL WHERE L +AST_UPDATE_DATE&gt;=(SELECT LAST_LOADING_DATE from DWADMIN.INT_LOADIN +GS@#DB_LINK# WHERE TABLE_NAME = &apos;CUS_ADDRESSES&apos; AND SYSTEM_ORIGIN = &apos;#system_origin#&apos; ) </Property> </SubRecord> <SubRecord> <Property Name="Name">ARRAYSIZE</Property> <Property Name="Value">32000</Property> </SubRecord> </Collection> <Property Name="TopTextPos">478</Property> </Record> <Record Identifier="V0S19P4" DateModified="1899-12-30" TimeModif +ied="00.00.01" Type="CustomInput" Readonly="0"> <Property Name="Name">li_addresses_ins</Property> <Property Name="Partner">V0S17</Property> <Collection Name="Properties" Type="CustomProperty"> <SubRecord> <Property Name="Name">TABLE</Property> <Property Name="Value">DWADMIN.CUS_ADDRESSES</Property> </SubRecord> <SubRecord> <Property Name="Name">GENSQL</Property> <Property Name="Value">No</Property> </SubRecord> <SubRecord> <Property Name="Name">USERSQL</Property> <Property Name="Value" PreFormatted="1"> INSERT INTO DWADMIN.CUS_ADDRESSES ( ADDRESS_ID, ORIGINAL_ADDRESS_ID, ADDRESS_1,ADDRESS_2, A +DDRESS_3, ADDRESS_4,CITY,ZIP_CODE,COUNTRY,ADD_INFORMATION_1,ADD_INFOR +MATION_2,ADD_INFORMATION_3,EMAIL,CREATED_BY,CREATION_DATE,LAST_UPDATE +D_BY,LAST_UPDATE_DATE,SYSTEM_ORIGIN,SALES_TERRITORY_COUNTRY,SALES_TER +RITORY_ADMIN_REGION,SALES_TERRITORY_SECTOR,SALESREP_ID) VALUES (DWADM +IN.CUS_ADDRESS_ID_SEQ.NEXTVAL,:1,:2,:3,:4,:5,:6,:7,:8,:9,:10,:11,:12, +:13,TO_DATE(:14, &apos;YYYY-MM-DD HH24:MI:SS&apos;),:15,TO_DATE(:16, +&apos;YYYY-MM-DD HH24:MI:SS&apos;),:17,:18,:19,:20,:21) </Property> </SubRecord> </Collection> </Record> </Job> </DSExport>
The result I would like to get is :
<Job Identifier="adresses"> <tables>APPS.RA_ADDRESSES_ALL</tables> <usersql>SELECT ADDRESS_ID,LAST_UPDATE_DATE,LAST_UPDATED_BY,CREA +TION_DATE,CREATED_BY,COUNTRY,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,CITY +,POSTAL_CODE,STATE,PROVINCE,COUNTY FROM APPS.RA_ADDRESSES_ALL WHERE L +AST_UPDATE_DATE&gt;=(SELECT LAST_LOADING_DATE from DWADMIN.INT_LOADIN +GS@#DB_LINK# WHERE TABLE_NAME = &apos;CUS_ADDRESSES&apos; AND SYSTEM_ORIGIN = &apos;#system_origin#&apos; ) </usersql> </Job>
The table field should be the one line 20 and usersql line 25.

my not code working is :

use strict; use XML::Twig; my $t= new XML::Twig(); my $root = $t->root; $t->parsefile( 'T:\\BI\\Jerome\\xml\\tree.xml'); exit; sub job { my ($t, $root)= @_; my %job; $job{Attr_name}= $root->{'att'}->{'Name'}; $job{Attr_value}= $root->{'att'}->{'Value'}; print "$job{Attr_name}: $job{Attr_value}\n"; $root->delete; }
Note : in that example I just wanted to list all the Name and Value fields but I get no output.....

Hope my new explanations will be better for you.

Thanks in advance.

Jerome


In reply to Re^2: XML::Twig usage incomprehension by Jerome
in thread XML::Twig usage incomprehension by Jerome

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.