【发布时间】:2018-04-07 06:23:18
【问题描述】:
当我加载this 链接时,我得到一个JSON 对象。此对象包含XML 数据。我需要从这些标签中获取数据,遍历类名,我对类名job-entry的数据更感兴趣。
我所做的是,我首先通过json2xml将这个JSON数据转换为xml
功能。这成功地给了我XML。然后我想遍历这个XML的DOM,所以我这样做了:
var xml_string = json2xml(json_string);
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xml_string, "text/xml");
在哪里,json_string 是我从链接加载的那个。然后我解析它。根据this tutorial,我现在正在遍历DOM,我得到了错误:
undefined 不是构造函数(评估 'xml_string.getElementsByClassName("job-entry")');
这就是我遍历 DOM 的方式,而我现在没有错过它。 请注意,我正在使用 casper JS 来加载 JSON。
var jobsURL = "https://de.dpdhl.jobs/search-jobs/results?ActiveFacetID=0&CurrentPage=1&RecordsPerPage=20&Distance=50&ShowRadius=False&SearchResultsModuleName=Search+Results&SearchFiltersModuleName=Search+Filters&SortCriteria=0&SortDirection=1&SearchType=5";
casper.start(jobsURL);
casper.then(function() {
var json_string = JSON.parse(this.getPageContent());
var xml_string = json2xml(json_string);
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xml_string, "text/xml");
console.log(xml_string.getElementsByClassName("job-entry")[0].textContent);
})
casper.run();
【问题讨论】:
-
您的代码 sn-ps 没有必需的依赖项并且已损坏。用一个工作的 jsfiddle 会更好。
-
@Frederik.L 我正在使用 casper JS,不知道它如何与 JSFiddle 一起使用
-
json2xml(json_string)内部似乎出了点问题。也许期望您使用 json 字符串而不是对象?JSON.parse(...)方法将返回一个对象。 -
仍然没有工作@Frederik.L
标签: javascript xml-parsing casperjs