在Angular2项目中,我有一个xml文件,其中包含有关员工的所有信息。我需要从xml
文件中读取员工数据并显示在我的组件模板中。
如何使用http服务读取xml数据?
答案 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));
});