It's native javascript implementation of a bidirectional converter between XML and JS data structure (aka JSON). You can convert any type of XML documents in an Javascript data structure. You can also do the reverse, converting a Javascript data structure in XML String. XML is still valid.
With npm do:
$ npm install xml-mapping
varxm=require('xml-mapping');varjson=xm.load('<key>value</key>');varxml=xm.dump(json);console.log(xml,json);console.log(json);Output:
<key>value</key> { key: { '$t': 'value' } }
The rules for converting XML to JSON are those used by Google in its GData protocol. More information here : http://code.google.com/apis/gdata/docs/json.html
Use nodeunit to run the tests.
$ npm install nodeunit
$ nodeunit test
Transform a string with XML in Javascript data structure (JSON). Return Object.
###Options
Warning : options break the symmetry. This means that the JSON generated may not reproduce the same XML
throwErrors- boolean - Flag to throw errors of the SAX Parser ; default : falsenested- boolean - Flag to ignore nested tags inside text : default : falsecomments- boolean - Flag to ignore comments, if false all the comments will be ignored : default : true
varxml='<title>Title is <strong>important</strong></title>';varjson=XMLMapping.load(xml,{nested: true});console.log(json);// Should output:// { title : { $t : 'Title is<strong>important</strong>', strong: { '$t': 'important' }}}arrays- array - an array of basic XPath strings that specify XML nodes that should be array, even when there is only one such node.
varxml='<key1>value1</key1><key2><key3>value3</key3></key2>';varjson=XMLMapping.load(xml,{arrays: ['/key1','/key2/key3']});console.log(json);// Should output:// (Note that value of key1 and key3 are arrays, as specified in options)// {"key1":[{"$t":"value1"}],"key2":{"key3":[{"$t":"value3"}]}}Transform a Javascript data structure (JSON) in XML string. Return String.
###Options
Warning : options break the symmetry. This means that the XML generated may not reproduce the same JSON
indent- boolean - Flag to throw errors of the SAX Parser ; default : falseheader- boolean - Flag to add XML header; default : falseversion- string - Set version attribute of XML header (see header flag); default : 1.0encoding- string - Set encoding attribute of XML header (see header flag); default : UTF-8
Alias of load.
Alias of dump.

