# xml-js-builder [![npm Version](https://img.shields.io/npm/v/xml-js-builder.svg)](https://www.npmjs.com/package/xml-js-builder) [![Build Status](https://travis-ci.org/OpenMarshal/xml-js-builder.svg?branch=master)](https://travis-ci.org/OpenMarshal/xml-js-builder) This is a `npm` library which ease the use of XML with namespaces. This way, parsing `` 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 ```bash npm install xml-js-builder ``` ## Usage ```javascript 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); } ``` ```javascript const xmljs = require('xml-js-builder'); // ... const xml = new xmljs.XMLElementBuilder('d:multistatus', { 'xmlns:d': 'DAV:', 'xmlns:x': 'ok:' }); // xml.ele('d:deep', { 'xmlns': 'ttt:' }).ele('test'); // Ok1 xml.ele('d:node2').add('Ok1') // Ok2 xml.ele('d:node2').add('Ok2') // xml.ele('d:tag') // xml.ele('x:test') // yes xml.ele('nons').add('yes') // Ok3 xml.ele('d:node2').add('Ok3') console.log(xml.toJSON()); console.log(xml.toXML()); ```