{"_id":"elementtree","_rev":"30-e12427dac0d0f4f94bae3d001e92b172","name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.0","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"0.2.3"},"devDependencies":{"whiskey":"0.4.1"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_id":"elementtree@0.1.0","_engineSupported":true,"_npmVersion":"1.0.10","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"7ed964eaab1f18c74ffed45f9e85fc1fa134d001","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.0.tgz","integrity":"sha512-MYpZM6uscgaq2IUJCXDq9s/PDqzsQlJlOVRrpK8pE09J1cus5m3gCyG5EdLo68rXgrXM3CV2MGPJZOTpZW+8Pw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDF8mAarQmm8Wgfd2gKs1y8zrgW7a/9A5ucyG/q/wdsAgIgcDK1Ay44NapM3OdVH86OI57jC7o9mOjx7GnE7kBlRbU="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.1.1":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.1","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"0.2.3"},"devDependencies":{"whiskey":"0.4.1"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmJsonOpts":{"file":"/home/vagrant/.npm/elementtree/0.1.1/package/package.json","wscript":false,"contributors":false,"serverjs":false},"_id":"elementtree@0.1.1","_engineSupported":true,"_npmVersion":"1.0.27","_nodeVersion":"v0.4.11","_defaultsLoaded":true,"dist":{"shasum":"8a46cbae8d268bfe28909a0f2660a1c9603b511d","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.1.tgz","integrity":"sha512-Q0v4QK++6FpFPGyjb25Atg9M9u6fwdQAVdhPS2PnBbyuPfCFJYoixklnqLQ6Q9HafjMGNKDn/soQDAF0OlFToQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBAS95hh7is8oNTttOab1QXbeyxp605I3mBSY7Qii4TGAiA38HtkEKnDWiIWf9LarLQuD2eHnm9ehQqSl28IBmn/tw=="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"}]},"0.1.2":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.2","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"0.3.5"},"devDependencies":{"whiskey":"0.6.8"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"elementtree@0.1.2","optionalDependencies":{},"_engineSupported":true,"_npmVersion":"1.1.16","_nodeVersion":"v0.6.15","_defaultsLoaded":true,"dist":{"shasum":"8b175178c66f2af0d3c2acf82296089b5f33d6a6","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.2.tgz","integrity":"sha512-qg7BbmBE3H2mZ0xZTKzPFFpn+/sk8Ygpeg69UGBfWNEcDDZf6KG1RJfZXtpdWlBZWQdRxt3SIb1j0ulGRnf+vA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFUMzcRR+/snub9+iXhW86V8lzMyZ0n1oALIwi65FIMxAiBn+sKeOk94dDTKgT7Q0cwTYPnezM5CR8kZ9v8da77cVg=="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"},{"name":"pquerna","email":"pquerna@apache.org"},{"name":"rphillips","email":"ryan@trolocsis.com"}]},"0.1.3":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.3","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"0.3.5"},"devDependencies":{"whiskey":"0.6.8"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"elementtree@0.1.3","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"0399ea837772c6628204351f405d695a575755ce","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.3.tgz","integrity":"sha512-AU2JeDtavMOKqvutPJH86PySetXfbyAiSAoUq7YGgDP11ZZ/QQcVXzI+AO7qvywEZx+j0XlOYGPa+FdoX/BRaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDMB+2jCJQ1xgajEqUKUAzloljSYvKmlXrZRH5KsIfLWAiEA/wKNzy+IwaMrF23y0CHjT7BxwjzxpFq4dgSafLzvsTA="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"},{"name":"pquerna","email":"pquerna@apache.org"},{"name":"rphillips","email":"ryan@trolocsis.com"}]},"0.1.4":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.4","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"0.3.5"},"devDependencies":{"whiskey":"0.6.8"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"_id":"elementtree@0.1.4","_engineSupported":true,"_npmVersion":"1.0.106","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"96cf48ce71d68278da9d65a3aa3673f4b7609038","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.4.tgz","integrity":"sha512-Nb+7oQh/cB5SNloS0Ke1+CcC7arwYakrXAOf4uMw4OHKkkVm3oBgfbThDyvYyHbSvklE7Fz6HyqFIKwfUWKG7g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGSNyGWo4oDt4waKlH6T5bNg+3LIR0gNm2DFHtqEEh8fAiEA5H/ZdbbzgnTl44M6SDsXel4lDi9I/77tUGtaKqXikJ8="}]},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"},{"name":"pquerna","email":"pquerna@apache.org"},{"name":"rphillips","email":"ryan@trolocsis.com"}]},"0.1.5":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.5","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"0.3.5"},"devDependencies":{"whiskey":"0.6.8"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"_id":"elementtree@0.1.5","dist":{"shasum":"8d5fd80440b4be806c4a01b63914b40e0daab9ff","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.5.tgz","integrity":"sha512-6NRqClmhXcwnvv6gWbQKJOGjQuJ4Nk2/U6RIXBj/Tel9X9XrOz6PIM1PI+iHMJUOAWV1hemh1uJF/5r8T1l7Ow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBL1lK9sSb4Nt9Ih6t4kQUHtSsjkC243yHTfwV4xYsNAIgEAkBQq7JFg09MaDCeeSPZgVXYj4MMKqEvTaZlp5/eYQ="}]},"_npmVersion":"1.1.65","_npmUser":{"name":"kami","email":"tomaz+npm@tomaz.me"},"maintainers":[{"name":"kami","email":"tomaz@tomaz.me"},{"name":"pquerna","email":"pquerna@apache.org"},{"name":"rphillips","email":"ryan@trolocsis.com"}]},"0.1.6":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.6","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"0.3.5"},"devDependencies":{"whiskey":"0.8.x"},"licenses":[{"type":"Apache","url":"http://www.apache.org/licenses/LICENSE-2.0.html"}],"bugs":{"url":"https://github.com/racker/node-elementtree/issues"},"_id":"elementtree@0.1.6","dist":{"shasum":"2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz","integrity":"sha512-3PFZPanYTg5tPl84pM+Eu04xWYWi8+FF970UgE7CThRdRR77paLrj/qiv7NyEdy0qL1KFvVvpwbWjhL1D7+pTQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCsD+YwvbF6CNqGjIRWhiN+7PeZCcpb8+2xKR4VJGmHTQIgN6963lJKQeyBz1MqRp5SWq7WxrMH3uVhKz0cp77Qliw="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"rphillips","email":"ryan@trolocsis.com"},"maintainers":[{"name":"rphillips","email":"ryan@trolocsis.com"}]},"0.1.7":{"author":{"name":"Rackspace US, Inc."},"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"name":"elementtree","description":"XML Serialization and Parsing module based on Python's ElementTree.","version":"0.1.7","keywords":["xml","sax","parser","seralization","elementtree"],"homepage":"https://github.com/racker/node-elementtree","repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"main":"lib/elementtree.js","directories":{"lib":"lib"},"scripts":{"test":"make test"},"engines":{"node":">= 0.4.0"},"dependencies":{"sax":"1.1.4"},"devDependencies":{"whiskey":"0.8.x"},"license":"Apache-2.0","gitHead":"1e9496379f6a1072e2b817f51a296f7cd9f07e43","bugs":{"url":"https://github.com/racker/node-elementtree/issues"},"_id":"elementtree@0.1.7","_shasum":"9ac91be6e52fb6e6244c4e54a4ac3ed8ae8e29c0","_from":".","_npmVersion":"2.15.9","_nodeVersion":"4.5.0","_npmUser":{"name":"mburns","email":"michael@mirwin.net"},"maintainers":[{"name":"jirwin","email":"justin.gallardo@gmail.com"},{"name":"kami","email":"tomaz+npm@tomaz.me"},{"name":"mburns","email":"michael@mirwin.net"},{"name":"pquerna","email":"pquerna@apache.org"},{"name":"rchiniquy","email":"robert.chiniquy@gmail.com"},{"name":"rphillips","email":"ryan@trolocsis.com"}],"dist":{"shasum":"9ac91be6e52fb6e6244c4e54a4ac3ed8ae8e29c0","tarball":"https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz","integrity":"sha512-wkgGT6kugeQk/P6VZ/f4T+4HB41BVgNBq5CDIZVbQ02nvTVqAiVTbskxxu3eA/X96lMlfYOwnLQpN2v5E1zDEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEMCIGmLgimW9WHH0pM+/MaRcfyVLutAIi1ewp9WG/qFrS+FAh9aKK4mq3dX4PII/ysy4cLcnkij1iM8BGFE1ofiZpHm"}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/elementtree-0.1.7.tgz_1485230431723_0.19623595383018255"}}},"maintainers":[{"name":"jirwin","email":"justin.gallardo@gmail.com"},{"name":"kami","email":"tomaz+npm@tomaz.me"},{"name":"mburns","email":"michael@mirwin.net"},{"name":"pquerna","email":"pquerna@apache.org"},{"name":"rchiniquy","email":"robert.chiniquy@gmail.com"},{"name":"rphillips","email":"ryan@trolocsis.com"}],"time":{"modified":"2022-06-16T08:35:43.156Z","created":"2011-09-05T10:02:14.518Z","0.1.0":"2011-09-05T10:02:15.227Z","0.1.1":"2011-09-23T20:36:13.933Z","0.1.2":"2012-09-05T04:22:31.995Z","0.1.3":"2012-09-21T21:07:19.958Z","0.1.4":"2012-10-15T21:51:21.550Z","0.1.5":"2012-11-15T04:06:02.800Z","0.1.6":"2014-02-05T20:03:25.255Z","0.1.7":"2017-01-24T04:00:33.551Z"},"author":{"name":"Rackspace US, Inc."},"repository":{"type":"git","url":"git://github.com/racker/node-elementtree.git"},"readme":"node-elementtree\n====================\n\nnode-elementtree is a [Node.js](http://nodejs.org) XML parser and serializer based upon the [Python ElementTree v1.3](http://effbot.org/zone/element-index.htm) module.\n\nInstallation\n====================\n\n    $ npm install elementtree\n    \nUsing the library\n====================\n\nFor the usage refer to the Python ElementTree library documentation - [http://effbot.org/zone/element-index.htm#usage](http://effbot.org/zone/element-index.htm#usage).\n\nSupported XPath expressions in `find`, `findall` and `findtext` methods are listed on [http://effbot.org/zone/element-xpath.htm](http://effbot.org/zone/element-xpath.htm).\n\nExample 1 – Creating An XML Document\n====================\n\nThis example shows how to build a valid XML document that can be published to\nAtom Hopper. Atom Hopper is used internally as a bridge from products all the\nway to collecting revenue, called “Usage.”  MaaS and other products send similar\nevents to it every time user performs an action on a resource\n(e.g. creates,updates or deletes). Below is an example of leveraging the API\nto create a new XML document.\n\n```javascript\nvar et = require('elementtree');\nvar XML = et.XML;\nvar ElementTree = et.ElementTree;\nvar element = et.Element;\nvar subElement = et.SubElement;\n\nvar date, root, tenantId, serviceName, eventType, usageId, dataCenter, region,\nchecks, resourceId, category, startTime, resourceName, etree, xml;\n\ndate = new Date();\n\nroot = element('entry');\nroot.set('xmlns', 'http://www.w3.org/2005/Atom');\n\ntenantId = subElement(root, 'TenantId');\ntenantId.text = '12345';\n\nserviceName = subElement(root, 'ServiceName');\nserviceName.text = 'MaaS';\n\nresourceId = subElement(root, 'ResourceID');\nresourceId.text = 'enAAAA';\n\nusageId = subElement(root, 'UsageID');\nusageId.text = '550e8400-e29b-41d4-a716-446655440000';\n\neventType = subElement(root, 'EventType');\neventType.text = 'create';\n\ncategory = subElement(root, 'category');\ncategory.set('term', 'monitoring.entity.create');\n\ndataCenter = subElement(root, 'DataCenter');\ndataCenter.text = 'global';\n\nregion = subElement(root, 'Region');\nregion.text = 'global';\n\nstartTime = subElement(root, 'StartTime');\nstartTime.text = date;\n\nresourceName = subElement(root, 'ResourceName');\nresourceName.text = 'entity';\n\netree = new ElementTree(root);\nxml = etree.write({'xml_declaration': false});\nconsole.log(xml);\n```\n\nAs you can see, both et.Element and et.SubElement are factory methods which\nreturn a new instance of Element and SubElement class, respectively.\nWhen you create a new element (tag) you can use set method to set an attribute.\nTo set the tag value, assign a value to the .text attribute.\n\nThis example would output a document that looks like this:\n\n```xml\n<entry xmlns=\"http://www.w3.org/2005/Atom\">\n  <TenantId>12345</TenantId>\n  <ServiceName>MaaS</ServiceName>\n  <ResourceID>enAAAA</ResourceID>\n  <UsageID>550e8400-e29b-41d4-a716-446655440000</UsageID>\n  <EventType>create</EventType>\n  <category term=\"monitoring.entity.create\"/>\n  <DataCenter>global</DataCenter>\n  <Region>global</Region>\n  <StartTime>Sun Apr 29 2012 16:37:32 GMT-0700 (PDT)</StartTime>\n  <ResourceName>entity</ResourceName>\n</entry>\n```\n\nExample 2 – Parsing An XML Document\n====================\n\nThis example shows how to parse an XML document and use simple XPath selectors.\nFor demonstration purposes, we will use the XML document located at\nhttps://gist.github.com/2554343.\n\nBehind the scenes, node-elementtree uses Isaac’s sax library for parsing XML,\nbut the library has a concept of “parsers,” which means it’s pretty simple to\nadd support for a different parser.\n\n```javascript\nvar fs = require('fs');\n\nvar et = require('elementtree');\n\nvar XML = et.XML;\nvar ElementTree = et.ElementTree;\nvar element = et.Element;\nvar subElement = et.SubElement;\n\nvar data, etree;\n\ndata = fs.readFileSync('document.xml').toString();\netree = et.parse(data);\n\nconsole.log(etree.findall('./entry/TenantId').length); // 2\nconsole.log(etree.findtext('./entry/ServiceName')); // MaaS\nconsole.log(etree.findall('./entry/category')[0].get('term')); // monitoring.entity.create\nconsole.log(etree.findall('*/category/[@term=\"monitoring.entity.update\"]').length); // 1\n```\n\nBuild status\n====================\n\n[![Build Status](https://secure.travis-ci.org/racker/node-elementtree.png)](http://travis-ci.org/racker/node-elementtree)\n\n\nLicense\n====================\n\nnode-elementtree is distributed under the [Apache license](http://www.apache.org/licenses/LICENSE-2.0.html).\n","readmeFilename":"README.md","users":{"shakeelmohamed":true,"judsonmitchell":true,"shanewholloway":true,"goliatone":true,"dcernach":true},"homepage":"https://github.com/racker/node-elementtree","keywords":["xml","sax","parser","seralization","elementtree"],"contributors":[{"name":"Paul Querna","email":"paul.querna@rackspace.com"},{"name":"Tomaz Muraus","email":"tomaz.muraus@rackspace.com"}],"bugs":{"url":"https://github.com/racker/node-elementtree/issues"},"license":"Apache-2.0"}