xml-js-builder
v1.0.3
Published
XML library to ease the use of XML with namespaces
Downloads
27,910
Maintainers
Readme
xml-js-builder
This is a npm
library which ease the use of XML with namespaces.
This way, parsing <tag xmlns="ns"/>
will be reachable by .find('ns:tag')
instead of having to check the attributes to know if it is in the right namespace.
The xmljs.XML.parse(...)
can parse XML, JSON (compact and extended) from xml-js
.
Install
npm install xml-js-builder
Usage
const xmljs = require('xml-js-builder');
const xml = xmljs.XML.parse(myXML);
try
{
const text = xml.find('DAV:tag').find('DAV:subtag').findText();
const texts = xml.find('DAV:tag').findMany('DAV:subtags').map((tag) => tag.findText());
// [...]
}
catch(ex)
{
console.error(ex);
}
const xmljs = require('xml-js-builder');
// <d:multistatus xmlns:d="DAV:" xmlns:x="ok:"> ... </d:multistatus>
const xml = new xmljs.XMLElementBuilder('d:multistatus', {
'xmlns:d': 'DAV:',
'xmlns:x': 'ok:'
});
// <d:deep xmlns="ttt:"><test/></d:deep>
xml.ele('d:deep', {
'xmlns': 'ttt:'
}).ele('test');
// <d:node2>Ok1</d:node2>
xml.ele('d:node2').add('Ok1')
// <d:node2>Ok2</d:node2>
xml.ele('d:node2').add('Ok2')
// <d:tag/>
xml.ele('d:tag')
// <x:test/>
xml.ele('x:test')
// <d:nons>yes</d:nons>
xml.ele('nons').add('yes')
// <d:node2>Ok3</d:node2>
xml.ele('d:node2').add('Ok3')
console.log(xml.toJSON());
console.log(xml.toXML());