如何将角度4中的xml转换为json?

时间:2017-08-16 06:25:17

标签: xml angular

作为角度4的初学者,我没有足够的知识如何处理XML到JSON以及如何在角度4中调用服务,请建议

2 个答案:

答案 0 :(得分:2)

基于库http://goessner.net/download/prj/jsonxml/,我实现了一个样本来接收XML数据并将它们解析为Angular4应用程序:

var headers = new Headers();
(...)
headers.append('Accept', 'application/xml');

return this.http.get('https://angular2.apispark.net/v1/companies/', {
  headers: headers
}).map(res => JSON.parse(xml2json(res.text(),'  ')));

为了能够使用该库,您需要首先解析XML字符串:

var parseXml;

if (typeof window.DOMParser != "undefined") {
  parseXml = function(xmlStr) {
    return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
  };
} else if (typeof window.ActiveXObject != "undefined" &&
   new window.ActiveXObject("Microsoft.XMLDOM")) {
    parseXml = function(xmlStr) {
      var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async = "false";
      xmlDoc.loadXML(xmlStr);
      return xmlDoc;
  };
} else {
  throw new Error("No XML parser found");
}

请参阅此plunkr:https://plnkr.co/edit/dj63ASQAgrNcLLlwyAum?p=preview

答案 1 :(得分:1)

在npm上有一个名为ngx-xml2json的Angular 6库。

您可以看到说明here

看起来很直接,目前正在使用。