读取angular2中的xml文件数据

时间:2017-03-03 11:18:14

标签: angular typescript visual-studio-code

在Angular2项目中,我有一个xml文件,其中包含有关员工的所有信息。我需要从xml文件中读取员工数据并显示在我的组件模板中。

如何使用http服务读取xml数据?

3 个答案:

答案 0 :(得分:1)

对于解析,您可以尝试使用xml2js:https://github.com/Leonidas-from-XIV/node-xml2js

检查另一个答案: XML data parsing in angular 2

简而言之:

import { parseString } from 'xml2js';
/* ... */
let xml = "<root>Hello xml2js!</root>"
parseString(xml, function (err, result) {
   console.dir(result);
});

答案 1 :(得分:0)

浏览器API已经带有XML解析器。看看。

https://developer.mozilla.org/en-US/docs/Web/Guide/Parsing_and_serializing_XML

成功解析文档后,将使用类似于DOM导航的API对其进行导航。

某些HTTP客户端库可能带有解析XML的选项(不要为此安装新的,请检查您正在使用的一个!)。我还快速浏览了angular的HttpClient,但一开始并没有找到任何XML解析选项。

旧的XMLHttpRequest API还具有将响应直接解析为XML(.responseXML)的选项,但是您可能不会使用它,因为您可能已经在HTTP客户端中使用了另一种东西。 / p>

答案 2 :(得分:-1)

您可以使用jQuery.parseXML执行此操作,但需要将jQuery与Angular集成。

  

jQuery.parseXML使用浏览器的本机解析功能   创建有效的XML文档。然后可以将此文档传递给   jQuery创建一个可以遍历的典型jQuery对象   操纵。

有关与jQuery集成的更多详细信息,请参阅How to use jQuery with Angular2

使用http服务

let xml = "";
this.http.get(url)
  .map((res:Response) => res.text())
  .subscribe(data => {
        xml = data;
        console.log($.parseXML(xml));
     });