@doodad-js/xml
v5.2.0-beta.0
Published
XML Parser
Downloads
15
Maintainers
Readme
XML Parser
Installation
$ npm install @doodad-js/xml
Features
- Parses XML from a stream.
- By default, it uses the 'sax' package, but can support any other parser accepting chunks of data.
Quick Start
"use strict";
require('@doodad-js/core').createRoot()
.then(root => {
return root.Doodad.Modules.load([
{
module: '@doodad-js/xml'
}
]);
})
.then(root => {
const xml = root.Doodad.Tools.Xml;
// NOTE: Random songs
return xml.parse("<songs><song><title>Another Me In Lack'ech</title><artist>Epica</artist></song><song><title>Silent Lucidity</title><artist>Queensryche</artist></song><song><title>One</title><artist>Metallica</artist></song></songs>");
}).then(doc => {
const getItemValue = function(items, name) {
return items.find(name)[0].getChildren().getAt(0).getValue();
};
for (let song of doc.getRoot().getChildren()) {
const items = song.getChildren();
console.log(getItemValue(items, 'title') + " from " + getItemValue(items, 'artist'));
};
}).catch(err => {
console.error(err);
});
Other available packages
- @doodad-js/core: Object-oriented programming framework (release)
- @doodad-js/cluster: Cluster manager (alpha)
- @doodad-js/dates: Dates formatting (beta)
- @doodad-js/http: Http server (alpha)
- @doodad-js/http_jsonrpc: JSON-RPC over http server (alpha)
- @doodad-js/io: I/O module (alpha)
- @doodad-js/ipc: IPC/RPC server (alpha)
- @doodad-js/json: JSON parser (alpha)
- @doodad-js/loader: Scripts loader (beta)
- @doodad-js/locale: Locales (beta)
- @doodad-js/make: Make tools for doodad (alpha)
- @doodad-js/mime: Mime types (beta)
- @doodad-js/minifiers: Javascript minifier used by doodad (alpha)
- @doodad-js/safeeval: SafeEval (beta)
- @doodad-js/server: Servers base module (alpha)
- @doodad-js/templates: HTML page templates (alpha)
- @doodad-js/terminal: Terminal (alpha)
- @doodad-js/test: Test application
- @doodad-js/unicode: Unicode Tools (beta)
- @doodad-js/widgets: Widgets base module (alpha)
- @doodad-js/xml: XML Parser (beta)
License
This package includes a copy and port of the "libxml2" C-library, and also contains copies (raw and minified) of some files of the "sax" package. "libxml2" is licensed under MIT. "sax" is licensed under "The ISC License" and MIT.