| { |
| "name": "xml2js", |
| "description": "Simple XML to JavaScript object converter.", |
| "keywords": [ |
| "xml", |
| "json" |
| ], |
| "homepage": "https://github.com/Leonidas-from-XIV/node-xml2js", |
| "version": "0.1.13", |
| "author": { |
| "name": "Marek Kubica", |
| "email": "marek@xivilization.net", |
| "url": "http://xivilization.net" |
| }, |
| "contributors": [ |
| { |
| "name": "maqr", |
| "email": "maqr.lollerskates@gmail.com", |
| "url": "https://github.com/maqr" |
| }, |
| { |
| "name": "Ben Weaver", |
| "url": "http://benweaver.com/" |
| }, |
| { |
| "name": "Jae Kwon", |
| "url": "https://github.com/jaekwon" |
| }, |
| { |
| "name": "Jim Robert" |
| }, |
| { |
| "name": "Ștefan Rusu", |
| "url": "http://www.saltwaterc.eu/" |
| }, |
| { |
| "name": "Carter Cole", |
| "email": "carter.cole@cartercole.com", |
| "url": "http://cartercole.com/" |
| }, |
| { |
| "name": "Kurt Raschke", |
| "email": "kurt@kurtraschke.com", |
| "url": "http://www.kurtraschke.com/" |
| }, |
| { |
| "name": "Contra", |
| "email": "contra@australia.edu", |
| "url": "https://github.com/Contra" |
| }, |
| { |
| "name": "Marcelo Diniz", |
| "email": "marudiniz@gmail.com", |
| "url": "https://github.com/mdiniz" |
| }, |
| { |
| "name": "Michael Hart", |
| "url": "https://github.com/mhart" |
| }, |
| { |
| "name": "Zachary Scott", |
| "email": "zachary@zacharyscott.net", |
| "url": "http://zacharyscott.net/" |
| }, |
| { |
| "name": "Raoul Millais", |
| "url": "https://github.com/raoulmillais" |
| } |
| ], |
| "main": "./lib/xml2js", |
| "directories": { |
| "lib": "./lib" |
| }, |
| "repository": { |
| "type": "git", |
| "url": "https://github.com/Leonidas-from-XIV/node-xml2js.git" |
| }, |
| "dependencies": { |
| "sax": ">=0.1.1" |
| }, |
| "devDependencies": { |
| "coffee-script": ">=1.0.1", |
| "zap": ">=0.2.3" |
| }, |
| "readme": "node-xml2js\n===========\n\nEver had the urge to parse XML? And wanted to access the data in some sane,\neasy way? Don't want to compile a C parser, for whatever reason? Then xml2js is\nwhat you're looking for!\n\nDescription\n===========\n\nSimple XML to JavaScript object converter. Uses\n[sax-js](https://github.com/isaacs/sax-js/).\n\nNote: If you're looking for a full DOM parser, you probably want\n[JSDom](https://github.com/tmpvar/jsdom).\n\nInstallation\n============\n\nSimplest way to install `xml2js` is to use [npm](http://npmjs.org), just `npm\ninstall xml2js` which will download xml2js and all dependencies.\n\nUsage\n=====\n\nThis will have to do, unless you're looking for some fancy extensive\ndocumentation. If you're looking for every single option and usage, see the\nunit tests.\n\nSimple as pie usage\n-------------------\n\nThe simplest way to use it, is to use the optional callback interface added in\n0.1.11. That's right, if you have been using xml-simple or a home-grown\nwrapper, this is for you:\n\n```javascript\nvar fs = require('fs'),\n xml2js = require('xml2js');\n\nvar parser = new xml2js.Parser();\nfs.readFile(__dirname + '/foo.xml', function(err, data) {\n parser.parseString(data, function (err, result) {\n console.dir(result);\n console.log('Done');\n });\n});\n```\n\nLook ma, no event listeners! Alternatively you can still use the traditional\n`addListener` variant:\n\n```javascript\nvar fs = require('fs'),\n xml2js = require('xml2js');\n\nvar parser = new xml2js.Parser();\nparser.addListener('end', function(result) {\n console.dir(result);\n console.log('Done.');\n});\nfs.readFile(__dirname + '/foo.xml', function(err, data) {\n parser.parseString(data);\n});\n```\n\nYou can also use xml2js from\n[CoffeeScript](http://jashkenas.github.com/coffee-script/), further reducing\nthe clutter:\n\n```coffeescript\nfs = require 'fs',\nxml2js = require 'xml2js'\n\nparser = new xml2js.Parser()\nfs.readFile __dirname + '/foo.xml', (err, data) ->\n parser.parseString data, (err, result) ->\n console.dir result\n console.log 'Done.'\n```\n\nSo you wanna some JSON?\n-----------------------\n\nJust wrap the `result` object in a call to `JSON.stringify` like this\n`JSON.stringify(result)`. You get a string containing the JSON representation\nof the parsed object that you can feed to JSON-hungry consumers.\n\nDisplaying results\n------------------\n\nYou might wonder why, using `console.dir` or `console.log` the output at some\nlevel is only `[Object]`. Don't worry, this is not because xml2js got lazy.\nThat's because Node uses `util.inspect` to convert the object into strings and\nthat function stops after `depth=2` which is a bit low for most XML.\n\nTo display the whole deal, you can use `console.log(util.inspect(result, false,\nnull))`, which displays the whole result.\n\nSo much for that, but what if you use\n[eyes](https://github.com/cloudhead/eyes.js) for nice colored output and it\ntruncates the output with `…`? Don't fear, there's also a solution for that,\nyou just need to increase the `maxLength` limit by creating a custom inspector\n`var inspect = require('eyes').inspector({maxLength: false})` and then you can\neasily `inspect(result)`.\n\nOptions\n=======\n\nApart from the default settings, there is a number of options that can be\nspecified for the parser. Options are specified by ``new Parser({optionName:\nvalue})``. Possible options are:\n\n * `explicitCharkey` (default: `false`)\n * `trim` (default: `true`): Trim the whitespace at the beginning and end of\n text nodes.\n * `normalize` (default: `true`): Trim whitespaces inside text nodes.\n * `explicitRoot` (default: `false`): Set this if you want to get the root\n node in the resulting object.\n * `emptyTag` (default: `undefined`): what will the value of empty nodes be.\n Default is `{}`.\n * `explicitArray` (default: `false`): Always put child nodes in an array if\n true; otherwise an array is created only if there is more than one.\n * `ignoreAttrs` (default: `false`): Ignore all XML attributes and only create\n text nodes.\n * `mergeAttrs` (default: `false`): Merge attributes and child elements as\n properties of the parent, instead of keying attributes off a child\n attribute object. This option is ignored if `ignoreAttrs` is `false`.\n\nThese default settings are for backward-compatibility (and might change in the\nfuture). For the most 'clean' parsing, you should disable `normalize` and\n`trimming` and enable `explicitRoot`.\n\nRunning tests, development\n==========================\n\nThe development requirements are handled by npm, you just need to install\nthem. We also have a number of unit tests, they can be run using `zap`\ndirectly from the project root.\n", |
| "readmeFilename": "README.md", |
| "bugs": { |
| "url": "https://github.com/Leonidas-from-XIV/node-xml2js/issues" |
| }, |
| "_id": "xml2js@0.1.13", |
| "_from": "xml2js@0.1.13" |
| } |