Provided by: libxml-dom-perl_1.44-2_all bug


       XML::DOM::Parser - An XML::Parser that builds XML::DOM document structures


        use XML::DOM;

        my $parser = new XML::DOM::Parser;
        my $doc = $parser->parsefile ("file.xml");
        $doc->dispose; # Avoid memory leaks - cleanup circular references


       XML::DOM::Parser extends XML::Parser

       The XML::Parser module was written by Clark Cooper and is built on top of
       XML::Parser::Expat, which is a lower level interface to James Clark's expat library.

       XML::DOM::Parser parses XML strings or files and builds a data structure that conforms to
       the API of the Document Object Model as described at
       <>.  See the XML::Parser manpage for other additional
       properties of the XML::DOM::Parser class.  Note that the 'Style' property should not be
       used (it is set internally.)

       The XML::Parser NoExpand option is more or less supported, in that it will generate
       EntityReference objects whenever an entity reference is encountered in character data. I'm
       not sure how useful this is. Any comments are welcome.

       As described in the synopsis, when you create an XML::DOM::Parser object, the parse and
       parsefile methods create an XML::DOM::Document object from the specified input. This
       Document object can then be examined, modified and written back out to a file or converted
       to a string.

       When using XML::DOM with XML::Parser version 2.19 and up, setting the XML::DOM::Parser
       option KeepCDATA to 1 will store CDATASections in CDATASection nodes, instead of
       converting them to Text nodes.  Subsequent CDATASection nodes will be merged into one. Let
       me know if this is a problem.

Using LWP to parse URLs

       The parsefile() method now also supports URLs, e.g.  It
       uses LWP to download the file and then calls parse() on the resulting string.  By default
       it will use a LWP::UserAgent that is created as follows:

        use LWP::UserAgent;
        $LWP_USER_AGENT = LWP::UserAgent->new;

       Note that env_proxy reads proxy settings from environment variables, which is what I need
       to do to get thru our firewall. If you want to use a different LWP::UserAgent, you can
       either set it globally with:

        XML::DOM::Parser::set_LWP_UserAgent ($my_agent);

       or, you can specify it for a specific XML::DOM::Parser by passing it to the constructor:

        my $parser = new XML::DOM::Parser (LWP_UserAgent => $my_agent);

       Currently, LWP is used when the filename (passed to parsefile) starts with one of the
       following URL schemes: http, https, ftp, wais, gopher, or file (followed by a colon.)  If
       I missed one, please let me know.

       The LWP modules are part of libwww-perl which is available at CPAN.