# phpman > man > XML::LibXML::SAX::Builder(3pm)

## NAME
    [XML::LibXML::SAX::Builder](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ASAX%3A%3ABuilder/markdown) - Building DOM trees from SAX events.

## SYNOPSIS
      use [XML::LibXML::SAX::Builder](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ASAX%3A%3ABuilder/markdown);
      my $builder = [XML::LibXML::SAX::Builder](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ASAX%3A%3ABuilder/markdown)->new();

      my $gen = [XML::Generator::DBI](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3AGenerator%3A%3ADBI/markdown)->new(Handler => $builder, dbh => $dbh);
      $gen->execute("SELECT * FROM Users");

      my $doc = $builder->result();

## DESCRIPTION
    This is a SAX handler that generates a DOM tree from SAX events. Usage is as above. Input is
    accepted from any SAX1 or SAX2 event generator.

    Building DOM trees from SAX events is quite easy with [XML::LibXML::SAX::Builder](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ASAX%3A%3ABuilder/markdown). The class is
    designed as a SAX2 final handler not as a filter!

    Since SAX is strictly stream oriented, you should not expect anything to return from a
    generator. Instead you have to ask the builder instance directly to get the document built.
    [XML::LibXML::SAX::Builder](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ASAX%3A%3ABuilder/markdown)'s result() function holds the document generated from the last SAX
    stream.

## AUTHORS
    Matt Sergeant, Christian Glahn, Petr Pajas

## VERSION
    2.0134

## COPYRIGHT
    2001-2007, AxKit.com Ltd.

    2002-2006, Christian Glahn.

    2006-2009, Petr Pajas.

## LICENSE
    This program is free software; you can redistribute it and/or modify it under the same terms as
    Perl itself.

