使用xpath在xml中循环嵌套元素

我有以下xml.I要循环通过每个学生的课程。这可以通过nodejs的xpath js模块来完成吗?

<students> <student> <name>George</name> <courses> <course> <coursename>Philosophy</coursename> </course> <course> <coursename>Literature</coursename> </course> </courses> </student> <student> <name>John</name> <courses> <course> <coursename>History</coursename> </course> <course> <coursename>Maths</coursename> </course> </courses> </student> </students> 

尝试这个:

 var xpath = require('xpath'), dom = require('xmldom').DOMParser xml= ".. xml string .." var doc = new dom().parseFromString(xml) var nodes = xpath.select("//student", doc) nodes.forEach(function(node){ var courses = node.getElementsByTagName('coursename') for(var i=0;i< courses.leangth;i++){ console.log(node.firstChild.firstChild.nodeValue,courses[i].firstChild.nodeValue) } })