Skip to content

Commit

Permalink
Updating the readme with usage and method/event documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
Zoramite committed Feb 17, 2012
1 parent 65b8ce1 commit 7180f5e
Showing 1 changed file with 55 additions and 1 deletion.
56 changes: 55 additions & 1 deletion readme.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,57 @@
# Node.js XML 2 Object

Simple wrapper on the SAX parser to parse xml into javascript objects.
Simple wrapper on the [SAX.js](https://github.com/isaacs/sax-js) parser to parse xml into javascript objects.

Give `xml2object` a XML file and an array of XML elements and it will parse through the

## Install

npm install xml2object

## Usage

var xml2object = require('xml2object');

// Create a new xml parser with an array of xml elements to look for
var parser = new xml2object('myAnimals.xml', [ 'animal' ]);

// Bind to the object event to work with the objects found in the XML file
parser.on('object', function(name, obj) {
console.log('Found an object: %s', name);
console.log(obj);
});

// Bind to the file end event to tell when the file is done being streamed
parser.on('end', function(name, obj) {
console.log('Finished parsing xml!');
});

// Start parsing the XML
parser.start();

## Module

### xml2object(xmlFile, elements)

Constructor for creating an instance of the xml parser

var xml2object = require('xml2object');

// Parse the myAnimals.xml file looking for <animal> elements
var parser = new xml2object('myAnimals.xml', [ 'animal' ]);

### .start()

Triggers the xml file to start streaming to the parser. Call this method after you have bound to the events.

### Event: 'object'

function(name, obj) { ... }

Triggered when an object has been parsed from the XML file with the name of the element found and the actual object.

### Event: 'end'

function() { ... }

Marks the end of the input file when it has been completely streamed through the parser.

0 comments on commit 7180f5e

Please sign in to comment.