Hallo Ich versuche, eine HTTP-Anfrage von this RSS-Feed zu machen. Ich versuchte dies:Ionic2 http Anfrage. XML zu Json?
makeRequest() { this.http.get('http://www.gazetaexpress.com/rss/auto-tech/?xml=1') .subscribe(data => { this.posts = data; console.log("request funktioniert"); }, error => { console.log(JSON.stringify(error.json())); }); }
Als ich {{posts}}
in der HTML-Seite verwenden Sie es zurück:
Response with status: 200 OK for URL: http://m.gazetaexpress.com/mobile/rss/auto-tech/?xml=1
Bei der Verwendung von {{Post | json}} es gibt die gesamte html-Seite zurück. Ich habe versucht, mit:
this.http.get('http://www.gazetaexpress.com/rss/ballina/?xml=1').map(res => res.json())
stattdessen für die erste Zeile, aber es hat einen Fehler zurückgegeben:
TypeError: error.json is not a function
Bitte helfen Sie mir: D
EDIT
ich die xml2js Bibliothek importiert und Typings und importiert in der ts-Datei:
import * as xml2js from "xml2js"
und haben die Anfrage an:
makeRequest() {
this.http.get('http://www.gazetaexpress.com/rss/auto-tech/?xml=1').subscribe(data => {
this.posts = data;
xml2js.parseString(this.posts, function (err, result) {
console.log(result);
});
}, error => {
console.log(JSON.stringify(error.json()));
});
}
Die Konsole gibt undefined zurück ...
EDIT 2
Okay, ich das Problem Hotfix. Ich nahm einfach die Lochkette und schneide sie in Stücke mit der Knotenstruktur und mit this.posts.replace(/\\t|\\n|\\r/gi, "");
, um entkommene Zeichen loszuwerden. Sicherlich muss es eine gute Bibliothek geben, die an diesem Thema arbeitet, mein Code ist ziemlich knallhart;). Ich werde diesen Code später übersehen, denn jetzt funktioniert es und das ist in Ordnung. Wenn Sie etwas bessere Ideen haben, zögern Sie nicht mir zu sagen: D