NAME
XML::GenericJSON - for turning XML into JSON, preserving as much XMLness as possible.
SYNOPSIS
my $json_string = XML::GenericJSON::string2string($xml_string);
my $json_string = XML::GenericJSON::file2string($xml_filename);
XML::GenericJSON::string2file($xml_string,$json_filename);
XML::GenericJSON::file2file($xml_filename,$json_filename);
DESCRIPTION
XML::GenericJSON provides functions for turning XML into JSON. It uses LibXML to parse the XML and JSON::XS to turn a perlish data structure into JSON. The perlish data structure preserves as much XML information as possible. (In other words, an application-specific JSON filter would almost certainly produce more compact JSON.)
The module was initially developed as part of the Xcruciate project (http://www.xcruciate.co.uk) to produce JSON output via the Xteriorize webserver. It turns the entire XML document into a DOM tree, which may not be what you want to do if your XML document is 3 buzillion lines long.
AUTHOR
Mark Howe, <melonman@cpan.org>
EXPORT
None
BUGS
The best way to report bugs is via the Xcruciate bugzilla site (http://www.xcruciate.co.uk/bugzilla).
PREVIOUS VERSIONS
string2string(xml_string [,preserve_whitespace])
Returns a JSON representation of an XML string. The second argument should be false if you want to preserve non-semantic whitespace.
file2string(xml_filename [,preserve_whitespace])
Returns a JSON representation of an XML file. The second argument should be false if you want to preserve non-semantic whitespace.
string2file(xml_string, json_filename [,preserve_whitespace])
Writes a JSON file based on an XML string. The third argument should be false if you want to preserve non-semantic whitespace.
file2file(xml_filename, json_filename [,preserve_whitespace])
Writes a JSON file based on an XML file. The third argument should be false if you want to preserve non-semantic whitespace.
dom2perlish(node)
The function that does the work of turning XML into a perlish data structure suitable for treatment by JSON::XS.
hash_attributes(node)
Makes a hash of attributes.
list_namespaces($node)
Makes a list of namespaces.
list_children(node)
Makes a list of child nodes.
PREVIOUS VERSIONS
0.01: First upload
0.02: Get dependencies right
0.03: Get path to abstract right
0.04: ported to use Module::Build
0.05: fixed unit test
COPYRIGHT AND LICENSE
Copyright (C) 2009 by SARL Cyberporte/Menteith Consulting
This library is distributed under BSD licence (http://www.xcruciate.co.uk/licence-code).