Skip to content

Instantly share code, notes, and snippets.

@mderijcke
Created August 28, 2018 00:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mderijcke/831cf49f831b4a3c833f97265c292443 to your computer and use it in GitHub Desktop.
Save mderijcke/831cf49f831b4a3c833f97265c292443 to your computer and use it in GitHub Desktop.
const Element = require('ltx/lib/Element');
const Parser = require('ltx/lib/parsers/ltx');
let parser = new Parser();
let stack = [];
parser.on('startElement', (name, attrs) => {
stack.push(new Element(name, attrs));
});
parser.on('endElement', (name) => {
let element = stack.pop();
if (stack.length != 0) {
let parent = stack[stack.length - 1];
parent.children.push(element);
} else {
console.log('Done assembling: ' + element);
}
});
parser.write("<open xml:lang='en' from='rijx.com' id='d467f459-2779-46d3-a1ad-9cc0280b1e87' version='1.0' xmlns='urn:ietf:params:xml:ns:xmpp-framing'/><iq id='bafa6108-f2ed-4b2a-84db-a26e3b188a77' type='result' to='test@rijx.com/119181df-f95d-473f-a84f-beb31dbd9a15' xmlns='jabber:client'><query ver='151' xmlns='jabber:iq:roster'><item jid='mdr@rijx.com' subscription='both'><group>Buddies</group></item></query></iq>");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment