好吧,所以我试图使用多个XML库,NodeJS必须提供,我似乎无法解决如何让NodeJS从网站读取XML文件。阅读XML托管的文件与NodeJS
我可以使用http.request,http.get和所有这些,但然后让NodeJS能够实际上对XML文件中的数据做任何事情是另一回事。
我敢肯定,我必须丢失一些东西,因为我曾经用xml-stream将XML转换为JS;它不能在网站上使用它;我的代码运行时,我主持的文件,但我使用的API,他们只使用XML。
当前代码:
var http = require('http');
var XmlStream = require('xml-stream');
var options = { host: 'cloud.tfl.gov.uk',
path: '/TrackerNet/LineStatus'};
var twitter = { host: 'api.twitter.com',
path: '/1/statuses/user_timeline.rss?screen_name=nwhite89'}
var request = http.get(options).on('response', function(response) {
response.setEncoding('utf8');
var xml = new XmlStream(response);
xml.on('updateElement: item', function(item) {
item.title = item.title.match(/^[^:]+/)[0] + ' on ' +
item.pubDate.replace(/ +[0-9]{4}/, '');
});
xml.on('text: item > pubDate', function(element) {
element.$text = element.$text;
});
xml.on('data', function(data) {
process.stdout.write(data);
});
});
我不被使用Twitter了解在xml.on(“数据”)的部分工作正常,但是输出使用期权(cloud.tfl.gov.uk)无输出即使我将console.log(“hi”)放在数据函数中,它也不会被执行。
我知道url是正确的输出console.log(xml)或console.log(响应)后创建它已连接的变量xml输出。任何帮助将不胜感激,因为我已经坚持了这个好2天了。
我实际上不能非常感谢你的帮助,因为这必须改为 var xml = new XmlStream(response,'utf8'); 我不能相信它是如此之小;但我知道它必须是! – 2012-02-05 19:30:09