我正在使用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";
}
每次运行作业都会得到错误。
Failed with: TypeError: Cannot call method 'text' of undefined
<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吗?任何帮助将是伟大的,谢谢!
我没有正确地导航节点。当我试图访问标题时,我错过了一个节点,我只是想做res.title,而不是我需要做res.rss.title.