我有这种方法,我从远程服务器接收 XML 响应,我需要将 XML 转换为 JSON,以便 Angular 2 可以处理数据:
private extractData(res: Response) {
let xml = res["_body"]
console.log(xml);
var parser = require('xml2json');
var json = parser.toJson(xml);
return json
}
我正在尝试使用这个节点模块:https://www.npmjs.com/package/xml2json
现在这个节点模块是用 javascript (不是 TypeScript)编写的,所以我不确定是否可以在 Angular 2 应用程序中使用它。
我收到此编译错误:
./~/isemail/lib/index.js 中出现错误
找不到模块:错误:不能
解析“/Users/user/ebayTool/node_modules/isemail/lib”中的“dns”@
./~/isemail/lib/index.js 5:12-26 @ ./~/joi/lib/string.js @
./~/joi/lib/index.js @ ./~/xml2json/lib/xml2json.js @
./~/xml2json/lib/index.js @ ./~/xml2json/index.js @
./src/app/hero.service.ts @ ./src/app/app.component.ts @
./src/app/app.module.ts @ ./src/main.ts @ 多
webpack-dev-服务器/客户端?http://本地主机:4200/./src/main.ts
webpack:编译失败。
所以我的问题是如何在 Angular 2 中将 XML 转换为 JSON 以及如何正确导入 xml2json 节点模块以在我的项目中使用?
如果你使用角度-cli引导您的应用程序 - 它已经带有用于转换 xml 的节点模块。
https://github.com/Leonidas-from-XIV/node-xml2js
因此您不需要为此添加额外的模块。因为它是经典的 commonJS 模块 - 你需要使用require
导入它:
let parseString = require('xml2js').parseString;
所以你的代码可以看起来像:
let parseString = require('xml2js').parseString;
let xml = "<root>Hello xml2js!</root>"
parseString(xml, function (err, result) {
console.dir(result);
});
您将收到下一个输出:
在任何情况下 - 如果你甚至不使用 Angular-clior 想要使用你喜欢的模块来解析 xml - 使用require
加载它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)