好吧,所以我試圖使用多個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