{
  "_args": [
    [
      {
        "raw": "xmlbuilder@4.0.0",
        "scope": null,
        "escapedName": "xmlbuilder",
        "name": "xmlbuilder",
        "rawSpec": "4.0.0",
        "spec": "4.0.0",
        "type": "version"
      },
      "/Users/steveng/repo/cordova/cordova-browser/node_modules/plist"
    ]
  ],
  "_from": "xmlbuilder@4.0.0",
  "_id": "xmlbuilder@4.0.0",
  "_inCache": true,
  "_location": "/xmlbuilder",
  "_npmUser": {
    "name": "oozcitak",
    "email": "oozcitak@gmail.com"
  },
  "_npmVersion": "1.4.28",
  "_phantomChildren": {},
  "_requested": {
    "raw": "xmlbuilder@4.0.0",
    "scope": null,
    "escapedName": "xmlbuilder",
    "name": "xmlbuilder",
    "rawSpec": "4.0.0",
    "spec": "4.0.0",
    "type": "version"
  },
  "_requiredBy": [
    "/plist"
  ],
  "_resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz",
  "_shasum": "98b8f651ca30aa624036f127d11cc66dc7b907a3",
  "_shrinkwrap": null,
  "_spec": "xmlbuilder@4.0.0",
  "_where": "/Users/steveng/repo/cordova/cordova-browser/node_modules/plist",
  "author": {
    "name": "Ozgur Ozcitak",
    "email": "oozcitak@gmail.com"
  },
  "bugs": {
    "url": "http://github.com/oozcitak/xmlbuilder-js/issues"
  },
  "contributors": [],
  "dependencies": {
    "lodash": "^3.5.0"
  },
  "description": "An XML builder for node.js",
  "devDependencies": {
    "coffee-coverage": "*",
    "coffee-script": "*",
    "coveralls": "*",
    "istanbul": "*",
    "mocha": "*"
  },
  "directories": {},
  "dist": {
    "shasum": "98b8f651ca30aa624036f127d11cc66dc7b907a3",
    "tarball": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz"
  },
  "engines": {
    "node": ">=0.8.0"
  },
  "gitHead": "ec17840a6705ef666b7d04c771de11df6091fff5",
  "homepage": "http://github.com/oozcitak/xmlbuilder-js",
  "keywords": [
    "xml",
    "xmlbuilder"
  ],
  "license": "MIT",
  "main": "./lib/index",
  "maintainers": [
    {
      "name": "oozcitak",
      "email": "oozcitak@gmail.com"
    }
  ],
  "name": "xmlbuilder",
  "optionalDependencies": {},
  "readme": "# xmlbuilder-js\n\nAn XML builder for [node.js](https://nodejs.org/) similar to \n[java-xmlbuilder](https://github.com/jmurty/java-xmlbuilder).\n\n[![License](http://img.shields.io/npm/l/xmlbuilder.svg?style=flat-square)](http://opensource.org/licenses/MIT)\n[![NPM Version](http://img.shields.io/npm/v/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder)\n[![NPM Downloads](https://img.shields.io/npm/dm/xmlbuilder.svg?style=flat-square)](https://npmjs.com/package/xmlbuilder)\n\n[![Build Status](http://img.shields.io/travis/oozcitak/xmlbuilder-js.svg?style=flat-square)](http://travis-ci.org/oozcitak/xmlbuilder-js)\n[![Dependency Status](http://img.shields.io/david/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js)\n[![Dev Dependency Status](http://img.shields.io/david/dev/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://david-dm.org/oozcitak/xmlbuilder-js)\n[![Code Coverage](https://img.shields.io/coveralls/oozcitak/xmlbuilder-js.svg?style=flat-square)](https://coveralls.io/github/oozcitak/xmlbuilder-js)\n\n### Installation:\n\n``` sh\nnpm install xmlbuilder\n```\n\n### Usage:\n\n``` js\nvar builder = require('xmlbuilder');\nvar xml = builder.create('root')\n  .ele('xmlbuilder')\n    .ele('repo', {'type': 'git'}, 'git://github.com/oozcitak/xmlbuilder-js.git')\n  .end({ pretty: true});\n    \nconsole.log(xml);\n```\n\nwill result in:\n\n``` xml\n<?xml version=\"1.0\"?>\n<root>\n  <xmlbuilder>\n    <repo type=\"git\">git://github.com/oozcitak/xmlbuilder-js.git</repo>\n  </xmlbuilder>\n</root>\n```\n\nIt is also possible to convert objects into nodes:\n\n``` js\nbuilder.create({\n  root: {\n    xmlbuilder: {\n      repo: {\n        '@type': 'git', // attributes start with @\n        '#text': 'git://github.com/oozcitak/xmlbuilder-js.git' // text node\n      }\n    }\n  }\n});\n```\n\nIf you need to do some processing:\n\n``` js\nvar root = builder.create('squares');\nroot.com('f(x) = x^2');\nfor(var i = 1; i <= 5; i++)\n{\n  var item = root.ele('data');\n  item.att('x', i);\n  item.att('y', i * i);\n}\n```\n\nThis will result in:\n\n``` xml\n<?xml version=\"1.0\"?>\n<squares>\n  <!-- f(x) = x^2 -->\n  <data x=\"1\" y=\"1\"/>\n  <data x=\"2\" y=\"4\"/>\n  <data x=\"3\" y=\"9\"/>\n  <data x=\"4\" y=\"16\"/>\n  <data x=\"5\" y=\"25\"/>\n</squares>\n```\n\nSee the [wiki](https://github.com/oozcitak/xmlbuilder-js/wiki) for details.\n",
  "readmeFilename": "README.md",
  "repository": {
    "type": "git",
    "url": "git://github.com/oozcitak/xmlbuilder-js.git"
  },
  "scripts": {
    "postpublish": "rm -rf lib",
    "prepublish": "coffee -co lib src",
    "test": "mocha && istanbul report text lcov"
  },
  "version": "4.0.0"
}
