Newer
Older
libxmljs-extra / README.md

libxmljs-extra

Library of functions to complement libxmljs.

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, '//grandchild')); // 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 Elements.

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