Hello everyone:
<?xml version='1.0'?> <queries> <query> <name>topHosts</name> <layer>LINK</layer> <topN>20</topN> <datatype>topHosts</datatype> <filter></filter> </query> <query> <name>topHosts</name> <layer>LINK</layer> <topN>120</topN> <datatype>topHosts</datatype> <filter></filter> </query> </queries>
This is the xml file. The code which is reading it is given below.
$simple1 = XML::Simple->new(ForceArray=>1, KeepRoot=>1); $data1 = $simple->XMLin("query.xml"); print Dumper($data1) . "\n";
Result:
$VAR1 = { 'queries' => [ { 'query' => [ { 'topN' => [ '20' ], 'layer' => [ 'LINK' ], 'filter' => [ {} ], 'name' => [ 'topHosts' ], 'datatype' => [ 'topHosts' ] }, { 'topN' => [ '120' ], 'layer' => [ 'LINK' ], 'filter' => [ {} ], 'name' => [ 'topHosts' ], 'datatype' => [ 'topHosts' ] } ] } ] };
Now, I want to read the key elements (topN, layer, filter, name, datatype) values in different variables. But I did not find a any code which will read the above data structure and extract those values, looping through throught the number of queries. For example - code in this case should loop 2 times as you can see that there are two queries in the xml file (query.xml). Please help!

In reply to XML parsing problem by avi_2009

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.