this seems to be resolved to <tag><SOMETHING></tag>
This makes no sense. There's no way it would return that as text. You should get at least 3 callbacks: element start, one or more string of characters, element end. And you do:
use strict; use warnings; BEGIN { package MySAXHandler; use parent 'XML::SAX::Base'; sub start_element { print "element $_[1]{Name}\n"; } sub end_element { print "element end\n"; } sub characters { print "text $_[1]{Data}\n"; } } #use XML::SAX; use XML::SAX::PurePerl; #my $parser = XML::SAX::ParserFactory->parser( my $parser = XML::SAX::PurePerl->new( Handler => MySAXHandler->new(), ); $parser->parse_uri("foo.xml");
<root><tag><SOMETHING></tag></root>
element root element tag text < text SOMETHING text > element end element end
It sounds like you're building XML from text without converting the text to XML.
Because you blamed the module instead of showing your broken code, I have no time to look into whether the parser is capable of handling DTDs or provide a implicit mechanism for entity definition.
In reply to Re: XML::SAX::PurePerl, handle entities
by ikegami
in thread XML::SAX::PurePerl, handle entities
by VirtualRider
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |