I have this loop:

foreach my $node ($element->getChildNodes()) {}

Each $node represents a piece of XML of the form: <tag_name>Content</tag_name>

I want to extract the "Content" ie the character data between the start and end tags of each node in the loop above. There is only character data in each of these nodes.

My understanding of the docs is that the character data is stored in the only child node of the node representing the element. Hence I tried to extract it with:

my $child_nodes = $node->getChildNodes(); # get the child nodes my $child_node = $child_nodes->[0]; # get the first (only) child node my $content = $child_node->getData(); # get the content

but this dies with the error "Can't call method "getData" on an undefined value"

I'm sure this is simple, but I'm having one of those days and I just can't spot the error. Any suggestions? Thanks


In reply to Using XML::DOM to get the contents of an element by ezekiel

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.