我正在尝试将后端服务器的 xml 响应(它使用文本 XMLHttpRequestResponseType)映射到打字稿接口。现在,我尝试使用 xml2js 将 xml 映射到 JSON,然后将 JSON 映射到 typescript 接口(我正在使用 Angular 5)。问题是 xml2js 将呈现以下内容:
假设我们有以下 xml:
<xmlTag attr1="value1" attr2="value2>
<innerTag attr3="value3">value4</innerTag>
</xmlTag>
定义接口的方式如下:
export interface XmlTag {
attr1?: string;
attr2?: string;
innerTag?: InnerTag;
}
export interface InnerTag {
attr3?: string;
innerTagValue?: string;
}
问题是 xml2js 将 xml 属性映射为 '$' 作为 e 键和一个嵌套的 json 对象作为它的值。例子:
<xmlTag attr1="value1" attr2="value2>
<innerTag attr3="value3">value4</innerTag>
</xmlTag>
转化为: 图像
所以一个'$'用作标签属性的键和一个嵌套的json对象作为一个值,包含所有属性和一个'_'作为标签之间的值。
当我需要将它绑定到 HTML 页面中时,我必须使用 {{innerTag.$.attr3}} 访问(例如 attr3),从而使我的界面无用。
有没有办法(可能是库)将响应映射到接口(每个 xml 标签都应该是一个接口,接口的属性是 xml 标签属性和嵌套标签)?还是我必须手动完成?
谢谢!