5.2.0-beta.0 • Published 6 years ago

@doodad-js/xml v5.2.0-beta.0

Weekly downloads
1
License
Apache-2.0
Repository
github
Last release
6 years ago

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.