xml2jsobj
v0.1.6
Published
Convert XML to JS object and maintain the order
Downloads
10
Readme
xml2jsobj
Convert XML to JS object asynchronously and maintain the order.
Install
npm install xml2jsobj
Example
require("xml2jsobj").convert(
'<r>\
<a>A1</a>\
<b c="d">B</b>\
<a>\
A2\
<e />\
</a>\
</r>',
function(err, result) {
console.dir(result);
}
);
Output
{ "name": "R",
"children": [
{ "name": "A",
"children": ["A1"]
},
{ "name": "B",
"attributes": {"C": "d"},
"children": ["B"]
},
{ "name": "A",
"children": [
"A2",
{"name": "E"}
]
}
]
}
Idea: just be stupid
- There are at most three member for each node:
name
,attributes
,children
. - Maintain the order of the children. In the example above, the
<a>
tags are NOT combined as an array (which most other packages such asxml2js
and its dependents do), and therefore the result object still knows that the second<a>
tag is after the<b>
tag. - Even with only one child, the node would still have a
children
member as an array.
Usage
Call <obj>.init
for initialization if you need. The arguments are just like that for sax's parser
, except that trim
is default to true
.