| XML::Parser::Lite::Tree(3pm) | User Contributed Perl Documentation | XML::Parser::Lite::Tree(3pm) | 
NAME¶
XML::Parser::Lite::Tree - Lightweight XML tree builder
SYNOPSIS¶
  use XML::Parser::Lite::Tree;
  my $tree_parser = XML::Parser::Lite::Tree::instance();
  my $tree = $tree_parser->parse($xml_data);
    OR
  my $tree = XML::Parser::Lite::Tree::instance()->parse($xml_data);
DESCRIPTION¶
This is a singleton class for parsing XML into a tree structure. How does this differ from other XML tree generators? By using XML::Parser::Lite, which is a pure perl XML parser. Using this module you can tree-ify simple XML without having to compile any C.
For example, the following XML:
<foo woo="yay"><bar a="b" c="d" />hoopla</foo>
Parses into the following tree:
        {
          'children' => [
                          {
                            'children' => [
                                            {
                                              'children' => [],
                                              'attributes' => {
                                                                'a' => 'b',
                                                                'c' => 'd'
                                                              },
                                              'type' => 'element',
                                              'name' => 'bar'
                                            },
                                            {
                                              'content' => 'hoopla',
                                              'type' => 'text'
                                            }
                                          ],
                            'attributes' => {
                                              'woo' => 'yay'
                                            },
                            'type' => 'element',
                            'name' => 'foo'
                          }
                        ],
          'type' => 'root'
        };
Each node contains a "type" key, one of "root", "element" and "text". "root" is the document root, and only contains an array ref "children". "element" represents a normal tag, and contains an array ref "children", a hash ref "attributes" and a string "name". "text" nodes contain only a "content" string.
METHODS¶
- "instance()"
 - Returns an instance of the tree parser.
 - "new( options... )"
 - Creates a new parser. Valid options include "process_ns" to process namespaces.
 - "parse($xml)"
 - Parses the xml in $xml and returns the tree as a hash ref.
 
AUTHOR¶
Copyright (C) 2004-2008, Cal Henderson, <cal@iamcal.com>
SEE ALSO¶
XML::Parser::Lite.
| 2021-01-05 | perl v5.32.0 |