I know I should have done my reading,

That's right, and (assuming you have XML::LibXML installed), you can still do it -- it's never too late to learn.

but I must admit I am not an accomplished LibXML-er.

Neither am I. I just spend some time looking at the docs, and I try stuff out till I get it working.

However, I do like your simpler approach, which does populate the 'subblocks' array with everything, which is not really what I want.

In a case like this, it's not really a problem to have more structural elements in a hash than you really need. There's less effort and more efficiency in treating all elements the same way, and then just using whichever ones you really need.

how can I modify the loop so I can obtain three scalars, each containing separately the XML string of each subblock?

If that's really what you want to do, eliminate the inner "for" loop, which goes over the nested child nodes, and use the value returned by $sbchild->textContent (or something to that effect -- I don't quite understand what you're asking for, really).

Just RTFM, try some different stuff, see what happens, lather/rinse/repeat till you figure out what you really want. Or figure out what you really want first, then try different stuff till you get that. Whatever. Good luck.


In reply to Re^3: XML::Twig blues by graff
in thread XML::Twig blues by gmagklaras

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.