rogue90 has asked for the wisdom of the Perl Monks concerning the following question:
I wrote a pretty simple script using xml::parser to parse data into an array. The test data I was using was not well formed, but well formed enough that all I had to do was add a root node. It worked. I get a bigger chunk of test data and what do you know, their are ampersands all over it. Very not well formed.
Is there a way to process the data as it is getting fed into the parser on the fly so I could replace with entities? I would like to avoid creating a temp file as it is rather large.
My code... minus the subs
#!/usr/bin/perl use strict; use XML::Parser; my $xmlfile = shift; die "Cannot find file \"$xmlfile\"" unless -f $xmlfile; my $count = 0; my $tag = ""; my $encode; my $parser = new XML::Parser; $parser->setHandlers( Start => \&startElement, End => \&endElement, Char => \&characterData, Default => \&default); $parser->parsefile($xmlfile);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: XML::Parser sigh...
by runrig (Abbot) on Jul 27, 2005 at 21:35 UTC | |
by rogue90 (Novice) on Jul 27, 2005 at 23:33 UTC | |
Re: XML::Parser sigh...
by GrandFather (Saint) on Jul 27, 2005 at 21:19 UTC | |
by rogue90 (Novice) on Jul 27, 2005 at 21:35 UTC | |
by rogue90 (Novice) on Jul 27, 2005 at 21:29 UTC | |
by rogue90 (Novice) on Jul 27, 2005 at 21:27 UTC | |
by GrandFather (Saint) on Jul 27, 2005 at 21:35 UTC | |
Re: XML::Parser sigh...
by BaldPenguin (Friar) on Jul 27, 2005 at 22:49 UTC |
Back to
Seekers of Perl Wisdom