gmpassos has asked for the wisdom of the Perl Monks concerning the following question:

Well, I need a XML parser module, that is independent of others and pure Perl, able to make a HASH tree fo the XML document.

It will be an alternative for the better parsers, XML::Parser and XML::SAX, when they aren't installed.

The module need just to parse basic XML documents (no unicode, and only simple tags), not very complex data, since it's an low alternative.

I was look at CPAN for one, but most use XML::Parse and XML::SAX inside. And the module need to be pure Perl, without XS, since the client doesn't have a compiler to install it!

Anyone know one?! (I really don't want to write a XML parser now)

Graciliano M. P.
"The creativity is the expression of the liberty".

  • Comment on Need a XML parser pure Perl and independent!

Replies are listed 'Best First'.
Re: Need a XML parser pure Perl and independent!
by chromatic (Archbishop) on May 10, 2003 at 23:55 UTC
Re: Need a XML parser pure Perl and independent!
by broquaint (Abbot) on May 10, 2003 at 23:56 UTC
    Well, I need a XML parser module, that is independent of others and pure Perl
    Sounds like XML::Parser::Lite is just the module you're looking for. It uses perl5.6+ regexps to parse basic XML, so from the sounds of your requirement, it should do the job just fine.
    HTH

    _________
    broquaint

      Thanks! This is exactly what I want!!! ;-P

      And is very simple to work with it...

      Graciliano M. P.
      "The creativity is the expression of the liberty".

Re: Need a XML parser pure Perl and independent!
by PodMaster (Abbot) on May 10, 2003 at 23:58 UTC
    You'll have to evaluate them yourself, but there exist update: Here's a little example I had laying around
    use strict; use warnings; use XML::Mini::Document; warn $XML::Mini::VERSION; my $newDoc = XML::Mini::Document->new(); my $root = $newDoc->getRoot(); my $header = $root->header('xml'); # set the header $header->attribute('version', '1.0'); my $kid = $root->createChild('foo'); $kid->text("Yes, I am a kid."); $root->createChild('foo')->text('Me Too.'); print $newDoc->toString(); # create a new object my $xmlDoc = XML::Mini::Document->new(); # init the doc from an XML string $xmlDoc->parse($newDoc->toString()); use Data::Dumper; warn Dumper( $xmlDoc->toHash() ); die Dumper( $newDoc->toHash() ); __END__ 1.28 at - line 4. <?xml version="1.0"?> <foo> Yes, I am a kid. </foo> <foo> Me Too. </foo> $VAR1 = { 'xml' => { 'version' => '1.0' }, 'foo' => [ 'Yes, I am a kid.', 'Me Too.' ] }; $VAR1 = { 'xml' => { 'version' => '1.0' }, 'foo' => [ 'Yes, I am a kid.', 'Me Too.' ] };


    MJD says you can't just make shit up and expect the computer to know what you mean, retardo!
    I run a Win32 PPM repository for perl 5.6x+5.8x. I take requests.
    ** The Third rule of perl club is a statement of fact: pod is sexy.