# xml-js-builder [](https://www.npmjs.com/package/xml-js-builder) [](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());
```