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

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, '//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 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