我只是尝试从某个域中检索xml数据并将其读取到我的应用程序中。现在,我只想阅读原始数据。根据我的研究,我发现最好将xml转换为json并将它们加载到应用程序中。这是我试图转换和打印它们。有人可以建议我做错了吗?
mLine table:
id |network |type |....|environment |...
-----------------------------------------
54 |Force |SW |....|3 |...
答案 0 :(得分:0)
您的代码有两个问题:
parseString()
方法不是同步的,所以它不会返回已解析的对象,需要使用回调。
您正尝试通过parseString()
将JSON.parse()
的结果转换为JSON。那是错的,因为结果应该是JS对象。您根本不需要JSON.parse()
来电。
试试这样:
getProduction() {
var headers = new Headers({'Content-Type': 'text/xml'})
headers.set('Accept', 'text/xml');
headers.set('Content-Type', 'text/xml');
//make the http request
return this.http
.get(this.url, {headers})
.subscribe(res => {
parseString(res.text(), (err, result) => {
if (err) {
return console.log('invalid XML');
}
console.log(result);
})
}, err => this.handleError(err);
}
private handleErorr(error: Response) {
console.log('something went wrong');
return Observable.throw(error.json().error || 'server error');
}