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);ORmy $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
$xmland returns the tree as a hash ref.
AUTHOR
Copyright (C) 2004-2008, Cal Henderson, <[email protected]>
SEE ALSO
XML::Parser::Lite.