加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在AngularJS中处理XML服务?

发布时间:2020-12-17 09:01:40 所属栏目:安全 来源:网络整理
导读:我公司有成千上万的现有xml Web服务,并开始采用AngularJs的新项目。 在http://angularjs.org/的教程使用json服务。看起来他们在控制器中进行服务调用,解析生成的JSON,并将生成的对象直接传递给视图。 我用XML做什么?我看到四个选项: 解析它,并将DOM对
我公司有成千上万的现有xml Web服务,并开始采用AngularJs的新项目。

在http://angularjs.org/的教程使用json服务。看起来他们在控制器中进行服务调用,解析生成的JSON,并将生成的对象直接传递给视图。

我用XML做什么?我看到四个选项:

>解析它,并将DOM对象直接传递到UI(视图)。
>在服务器端的XML服务上放置一个JSON包装器。
>使用客户端上的一些库将DOM对象转换为JSON,并在我发出post / put请求时将其转换回。
>在客户端手动将DOM对象转换为JavaScript对象。

什么正确的方法和为什么?

如果选项2相对比较容易(例如,在后端控制器中添加一行JSON转换),那么这可能是一个很好的投资,因为JSON在线上比较简单,客户端上的工作少得多并且通常由RESTful API消费者(如果存在其他消费者)优选。

最近做了这样的工作,我会说,下一个最佳路径(如果选项2很难)将是使用响应和请求transformers执行您的XML和JavaScript对象之间的转换,这是一个变化之间的选项3和DOMParser对象是本地代码,所以它解析XML大大快。将XML DOM转换为JavaScript对象并从JavaScript对象生成XML是相当简单的递归算法。这种方法将所有其余的客户端代码与后端表示分离,如果您使用选项1,则不会出现这种情况。这种解耦将允许您直接使用基于JSON的RESTful接口,如果出现这样的机会。

选择涉及JSON / JavaScript对象的任何选项通常涉及处理阻抗不匹配问题,如XML属性,XML集合与JS数组和XML混合内容表示。如果您的数据模型足够简单,或者您不介意使用XML和JSON之间的开箱即用变换器提供的解决方案(例如,冗余对象遏制,编号的文本属性来表示与元素混合的不相交的文本) ,那么这可能不是你的问题。否则,有可能在请求的任一端定制转换行为(尽管可悲的是,没有声明性地,就我所见)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读