@doodad-js/xml

5.2.0-beta.0 • Public • Published

XML Parser

NPM Version

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

Apache-2.0

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.

Package Sidebar

Install

npm i @doodad-js/xml

Weekly Downloads

1

Version

5.2.0-beta.0

License

Apache-2.0

Unpacked Size

40.9 MB

Total Files

76

Last publish

Collaborators

  • doodadjs