## xpath.js An xpath module for node, written in pure javascript. Originally written by Cameron McCormack ([blog](http://mcc.id.au/xpathjs)). Prepared as a node module by Yaron Naveh ([blog](http://webservices20.blogspot.com/), [twitter](https://twitter.com/YaronNaveh)). ## Install Install with [npm](http://github.com/isaacs/npm): npm install xpath.js xpath.js is xml engine agnostic but I recommend to use [xmldom](https://github.com/jindw/xmldom): npm install xmldom ## Your first xpath: `````javascript var select = require('xpath.js') , dom = require('xmldom').DOMParser var xml = "Harry Potter" var doc = new dom().parseFromString(xml) var nodes = select(doc, "//title") console.log(nodes[0].localName + ": " + nodes[0].firstChild.data) console.log("node: " + nodes[0].toString()) ````` --> title: Harry Potter Node: Harry Potter ## Get text values directly `````javascript var xml = "Harry Potter" var doc = new dom().parseFromString(xml) var title = select(doc, "//title/text()")[0].data console.log(title) ````` --> Harry Potter ## Namespaces `````javascript var xml = "Harry Potter" var doc = new dom().parseFromString(xml) var node = select(doc, "//*[local-name(.)='title' and namespace-uri(.)='myns/']")[0] console.log(node.namespaceURI) ````` --> myns ## Attributes `````javascript var xml = "Harry Potter" var doc = new dom().parseFromString(xml) var author = select(doc, "/book/@author")[0].value console.log(author) ````` --> J. K. Rowling ## License MIT