2017-01-31 3 views
0

私はNode.jsおよびプログラミング全般に対して非常に新しいです。私の質問は、URLのXMLから、URLのXMLからのすべての値ではなく、1つ以上の値にアクセスしようとしていることです。私が代わりにこのコード行を使用してみましたがNode.JSを使用してURLから単一のXML値にアクセスする方法

console.log(JSON.stringify(data, null, 2)); 

Retrieving every value

console.log(JSON.stringify(data, ['Destination', 'Origintime'])); 

Attempting to receive specific values

代わりに、すぐ下にこのコードを使用して、すべての値を受信する

それは空になる。

ここでは私が作業しているコードです。

var parseString = require('xml2js').parseString; 
var http = require('http'); 
var url = "http://api.irishrail.ie/realtime/realtime.asmx/getStationDataByNameXML?StationDesc=Malahide" 

var info = ''; 

function xmlToJson(url, callback) { 
    var req = http.get(url, function(res) { 
    var xml = ''; 

    res.on('data', function(chunk) { 
     xml += chunk; 
    }); 

    res.on('error', function(e) { 
     callback(e, null); 
    }); 

    res.on('timeout', function(e) { 
     callback(e, null); 
    }); 

    res.on('end', function() { 
     parseString(xml, function(err, result) { 
     callback(null, result); 
     }); 
    }); 
    }); 
} 

xmlToJson(url, function(err, data) { 
    if(err) { 
     // Handle this however you like 
     return console.err(err); 
     res.send('Error') 
    } 

    //This way below works, however pulls in every value from xml url. 
    info = '' + JSON.stringify(data, null, 2) + '' 
    console.log(JSON.stringify(data, null, 2)); 

    //This way provides no values from url xml. 
    //console.log(JSON.stringify(data, ['Direction', 'Destination', 'Exparrival'])); 
    //info = '' + JSON.stringify(data, ['Direction', 'Destination', 'Exparrival']) + '' 
}); 

うまくいけば、皆さん、おかげさまで助けてください!

+0

私は、次のされていたこのチュートリアルで試してみてください。まだ私与え、http://antrikshy.com/blog/fetch-xml-url-convert-to-json-nodejs –

答えて

0

この

JSON.stringify(data.map(function (i) { 
    return { 
     'Direction' : i['Direction'], 
     'Destination' : i['Destination'], 
     'Exparrival' : i['Exparrival'] 
    } 
})) 
+0

ありません運を空の応答。 https://i.stack.imgur.com/8UFVo.png –

+0

JSON.stringify(data.map(関数(I){ \tリターン{ \t \t '方向':I [ '方向']、 \t \t 'デスティネーション':I [ '先']、 \t \t 'Exparrival':I [ 'Exparrival'] \t} }))の助けを再び –

+0

おかげで、まだ運。これはコマンドラインhttp://imgur.com/a/CwMEzで得られるものです –

関連する問題