An open API service indexing awesome lists of open source software.

https://github.com/aloisdeniel/node-xmlobject

Convert javascript objects to and from xml strings.
https://github.com/aloisdeniel/node-xmlobject

builder node parser xml

Last synced: 2 months ago
JSON representation

Convert javascript objects to and from xml strings.

Awesome Lists containing this project

README

          

# xmlobject

Convert javascript object from and to xml string.

## Install

```sh
$ npm install --save xmlobject
```

## Quickstart

```js
var XML = require('xmlobject');

// Deserialize from xml

var ns = "http://www.example.com/xml/test"
var defaultns = "http://www.example.com/xml/default"
var s = 'g';

XML.deserialize(s, function(err,r) {
console.log(r.asJSON())
var f1 = r.firstChild(ns,"f");
console.log("i: " + f1.getAttribute(ns, "i"));
console.log("f: " + f1.getText());

/* ->
{"name":"a","attributes":{"xmlns:":"http://www.example.com/xml/default","xmlns":"http://www.example.com/xml/default","xmlns:test":"http://www.example.com/xml/test","b":"c","d":"e"},"namespaces":[{"prefix":"","value":"http://www.example.com/xml/default"},{"prefix":"test","value":"http://www.example.com/xml/test"}],"children":[{"name":"test:f","attributes":{"test:i":"j"},"namespaces":[],"children":["g",{"name":"h","attributes":{},"namespaces":[],"children":[]}]}]}
*/

});

// Serialize to xml

var a = new XML("a");
a.setAttribute("b","c");
a.setAttribute("d","e");
a.setNamespace(defaultns);
a.addNamespace("test", ns);

var f = a.createChild(ns,"f");
f.setAttribute(ns,"i","j");
f.addChild("g");
f.createChild("h");

a.serialize(function(err, r) {
console.log(r);

/* ->
g
*/
});
```

## Warning

*xmlobject* is a perfect fit for small parsing scenario where all data could remain in memory but would not be perfectly optimized for parsing mega-octets of xml content where a stream/sax based approach would be better.

## Copyright and license

MIT © [Aloïs Deniel](http://aloisdeniel.github.io)