Provided by: libxml-parser-lite-tree-perl_0.14-3_all
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.