如何在AngularJS中处理XML服务?
我公司有成千上万的现有xml Web服务,并开始采用AngularJs的新项目。
在http://angularjs.org/的教程使用json服务。看起来他们在控制器中进行服务调用,解析生成的JSON,并将生成的对象直接传递给视图。 我用XML做什么?我看到四个选项: >解析它,并将DOM对象直接传递到UI(视图)。 什么正确的方法和为什么?
如果选项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之间的开箱即用变换器提供的解决方案(例如,冗余对象遏制,编号的文本属性来表示与元素混合的不相交的文本) ,那么这可能不是你的问题。否则,有可能在请求的任一端定制转换行为(尽管可悲的是,没有声明性地,就我所见)。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |