Newer
Older
libxmljs-extra / README.md
@dreptin dreptin on 28 Apr 2021 1 KB Initial commit
# libxmljs-extra

Library of functions to complement [libxmljs](https://github.com/libxmljs/libxmljs).

```JS
const libxmljs = require('libxmljs');
const extras = require('libxmljs-extra');

const xml = `
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.my-namespace.org/">
  <child>
    <grandchild>Hello</grandchild>
  </child>
  <child>
    <grandchild>World</grandchild>
  </child>
</root>`;

const xmlDoc = libxmljs.parseXml(xml);

// Sets the global namespace of the document
extras.setNamespace(xmlDoc, 'namespace', 'http://www.my-namespace.org/');

const grandchildren = extras.find(xmlDoc, '//grandchild');

grandchildren.forEach((grandchild) => console.log(grandchild.text())); // Prints "Hello\nWorld"

console.log(extras.count(xmlDoc, '//grandchildren')); // Prints "2"
```

## Docs


### count(xmlDoc, xpath)
>Counts the amount of results of the provided XPath.

>**args**
*xmlDoc* The instance of `Document` representating the XML document.
*xpath* The XPath to count in `xmlDoc`.

>**returns**
The amount of results.


### find(xmlDoc, xpath)
>Finds the result of the provided XPath.

>**args**
*xmlDoc* The instance of `Document` representating the XML document.
*xpath* The XPath to get in `xmlDoc`.

>**returns**
The found `Element` or `Element`s.


### setNamespace(xmlDoc, alias, url)
>Sets the namespace to use for the specified `Document`.

>**args**
*xmlDoc* The `Document` instance to set the namespace of.
*alias* The namespace alias.
*url* The namespace URL.

>**returns**
void