## 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