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;
In reply to Parsing CData nodes with LibXML by silvertip257
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |