xml-js-builder
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

xml-js-builder npm Version Build Status

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());

Package Sidebar

Install

npm i xml-js-builder

Weekly Downloads

1,657

Version

1.0.3

License

Unlicense

Unpacked Size

19 kB

Total Files

13

Last publish

Collaborators

  • adriencastex