At one point or another you are going to need to know the structure of the XML you are going to work with anyway. The fact that DOM or some other maze-of-objects-based XML parser let's you get away with assuming a single occurance of some tag even though it may be repeated, while XML::Simple would cause your script to bomb out, is not always a good thing. I'd rather if my stuff failed noisily than if it'd produce incorrect results.

You can of course split the XML processing into two, completely unrelated phases. First, that knows nothing whatsoever about what the structure of the XML is and what data are you after and just blindly parses (well, it's not much more then lexing actually this way) the file into some kind of data/object structure. And second that does know where are the data you wanted and has to navigate the structure to get them. In my humble opinion this is often unnecessarily hard and inefficient.


In reply to Re^2: XML & data structure parsing fun (XML::Simple ??) by Jenda
in thread XML & data structure parsing fun (XML::Simple ??) by kabeldag

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.