silvertip257 has asked for the wisdom of the Perl Monks concerning the following question:
I have decided to use LibXML to parse XML, but have had difficulty getting any output from CData nodes. Below is a small test case that I tried to use to get something working. So far I've had no luck. Any help is welcome - but I want come to a solution using LibXML (not other parsers).
Thanks, Mike
<?xml version="1.0" encoding="UTF-8"?> <root> <child> <![CDATA[ Here's a bunch of fun text that I want to get a substring out of +. ]]> </child> </root>
#!/usr/bin/perl use warnings; use strict; use XML::LibXML; my $in = "testcd.xml"; my $parser = XML::LibXML->new; my $doc = $parser->parse_file( $in ) or die("Cannot parse input file") +; my $root = $doc->documentElement(); #my $val = ($root->getElementsByTagName("child"))[0]->nodeValue; my @ch = $root->getElementsByTagName("child"); my $val = $ch[0]->firstChild->nodeType; print $val; my $cdata = XML::LibXML::CDATASection->new(($root->getElementsByTagName("child"))[ +0]->nodeV$ $cdata = $cdata->data; print $cdata; exit 0;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Parsing CData nodes with LibXML
by Your Mother (Archbishop) on Apr 07, 2010 at 04:42 UTC | |
|
Re: Parsing CData nodes with LibXML
by Anonymous Monk on Apr 07, 2010 at 03:32 UTC | |
by silvertip257 (Initiate) on Apr 07, 2010 at 03:43 UTC | |
by Anonymous Monk on Apr 07, 2010 at 03:52 UTC |