Pure javascript XML ANSI/Unicode SAX parser for Node.js
npm install node-xml-lite - This is a pure javascript XML SAX parser for Node.js.
- The specificity of this xml parser is that it can parse a document from a Buffer.
- It relies on iconv-lite to decode the text according to the code page of the document.
npm install node-xml-lite
xml.parseFileSync(filename));
xml.parseString("
xml.parseBuffer(new Buffer("
xml.SAXParseFile(filename,
function(state, a, b) {
switch (state) {
case xml.xtOpen:
// a is node name
...
break;
case xml.xtClose
...
break;
case xml.xtAttribute:
// a is attribute name
// b is attribute value
...
break;
case xml.xtText:
// a is a text value
break;
case xml.xtCData:
// a is a CDATA text value
...
break;
case xml.xtComment
// a is a comment text value
...
break;
};
// tell the parser to continue
return true;
},
function(err){
// parser done, check error
...
}
);
you can also use the sync function,
xml.SAXParseFileSync(filename, event)
var parser = new xml.XMLParser();
var ret = parser.parserBuffer(buffer, len, event);
if (ret === true) {
// stopped by event result
} else
if (ret === false) {
// there is a parsing error at:
// parser.line
// parser.col
} else
if (ret === undefined) {
// it is ok, continue ...
}
you can also parse a string
var ret = parser.parseString(str, event);