首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用xpath.js NPM模块解析XML

使用xpath.js NPM模块解析XML
EN

Stack Overflow用户
提问于 2014-03-19 21:09:38
回答 1查看 5K关注 0票数 1

我的XML如下所示:

代码语言:javascript
复制
<jobs>
  <job>
    <title>Engineer - System Planning</title>
    <url>http://my.jobs/0629cdc680d04cf3bcd711a1c0b69836321</url>
    <company>Iberdrola USA</company>
    <location>Augusta, ME</location>
    <dateacquired>2013-3-22 6:24 PM</dateacquired>
    <jvid>0629cdc680d04cf3bcd711a1c0b69836321</jvid>
  </job>
  <job>
    <title>Engineer - Hydro</title>
    <url>http://my.jobs/61cccbfba50c4f93a5169aafc13c82b2321</url>
    <company>Iberdrola USA</company>
    <location>Rochester, NY</location>
    <dateacquired>2013-7-5 8:33 PM</dateacquired>
    <jvid>61cccbfba50c4f93a5169aafc13c82b2321</jvid>
  </job>
</jobs>

我想使用XPath.js NPM模块(https://www.npmjs.org/package/xpath.js)。但我不知道如何使用该模块循环遍历XML文档中的每个job

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-20 00:06:31

xpath.js文档中的第一个示例中,使用类似于//job的XPath表达式,您将得到一个节点集:

代码语言:javascript
复制
var nodes = select(doc, "//job");

它可以使用常规的JavaScript循环,因为它是一个数组。然后,可以将每个节点作为参数传递到另一个XPath表达式中,并在其他节点中获取数据:

代码语言:javascript
复制
for (i = 0; i < nodes.length; i++) {
    var title   = select(nodes[i], "title/text()")[0].data;
    var url     = select(nodes[i], "url/text()")[0].data;
    var company = select(nodes[i], "company/text()")[0].data;
    ...
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22518186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档