我正在使用npm xmlreader解析我在解析云上从雅虎天气收到的xml。我一直在使用git存储库中的示例和这里的示例:https://www.npmjs.org/package/xmlreader试图看看我是否可以获取任何节点的内容,而且我没有运气。我是这样做的:
Parse.Cloud.job("getPage", function(request, status) {
var response = "I never get set";
Parse.Cloud.httpRequest({
url: 'http://weather.yahooapis.com/forecastrss?w=2442047&u=f',
success: function (httpResponse) {
console.log("Got here yo");
response = httpResponse.text;
response = response.toString();
response = parseXML(response);
status.success(response.toString());
},
error: function (httpResponse) {
status.error('Request failed with response code ' + httpResponse.status);
}
});
});
function parseXML (p1)
{
var xmlreader = require('cloud/xmlreader.js');
xmlreader.read(p1, function (err, xmldata) {
if(err) return console.log(err);
console.log( xmldata.title.text() );
});
return "hello";
}
每次我运行工作时都会收到错误。
失败:TypeError:无法调用方法' text'未定义的
<title>Yahoo! Weather - Los Angeles, CA</title>
<description>Yahoo! Weather for Los Angeles, CA</description>
<language>en-us</language>
<lastBuildDate>Thu, 10 Jul 2014 10:47 am PDT</lastBuildDate>
<ttl>60</ttl>
我已正确导入所有内容并正确安装。如果我只是调用xmlreader.text()它就不会失败但是没有什么可以打印的是它没有正确读取xml?任何帮助都会非常感谢!
答案 0 :(得分:1)
我没有正确导航节点。我试图访问标题时错过了一个节点我只是想做res.title而不是我需要做res.rss.title。