gpt4 book ai didi

xml - 如何在 AngularJS 中处理 XML 服务?

转载 作者:数据小太阳 更新时间:2023-10-29 01:37:10 25 4
gpt4 key购买 nike

我的公司现有数千个 xml 网络服务,并且开始在新项目中采用 AngularJs。

教程结束于 http://angularjs.org/专门使用 json 服务。看起来他们在 Controller 中进行服务调用,解析生成的 JSON,并将生成的对象直接传递给 View 。

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

  1. 解析它并将 DOM 对象直接传递给 UI( View )。

  2. 在服务器端围绕我的 XML 服务放置一个 JSON 包装器。

  3. 在客户端使用一些库将 DOM 对象转换为 JSON,并在我发出 post/put 请求时将其转换回来。

  4. 在客户端手动将 DOM 对象转换为 JavaScript 对象。

什么是正确的方法,为什么?

最佳答案

如果选项 2 对您来说相对容易(例如,在您的后端 Controller 中添加一行 JSON 转换),那么它可能是一项不错的投资,因为 JSON 在网络上更精简,工作量要少得多客户端,通常是 RESTful API 消费者的首选(如果有其他消费者)。

最近完成了此类工作,我想说下一个最佳路径(如果选项 2 很难)是使用响应和请求 transformers在 XML 和 JavaScript 对象之间执行转换,这是选项 3 和选项 4 之间某处的变体。DOMParser 对象是 native 代码,因此它解析 XML 的速度非常快。将 XML DOM 转换为 JavaScript 对象和从 JavaScript 对象生成 XML 都是相当简单的递归算法。这种方法将所有其余的客户端代码与后端表示分离,如果您选择选项 1 则不会出现这种情况。这种分离将允许您直接使用基于 JSON 的 RESTful 接口(interface),如果出现这样的机会。

选择涉及 JSON/JavaScript 对象的任何选项通常会涉及处理阻抗不匹配问题,例如 XML 属性、XML 集合与 JS 数组和 XML 混合内容表示。如果您的数据模型足够简单,或者您不介意使用 XML 和 JSON 之间开箱即用的转换器提供的解决方案(例如,冗余对象包含、用于表示与元素混合的不相交文本的编号文本属性) ,那么这对您来说可能不是问题。否则,有机会在请求的任何一端以命令方式自定义转换行为(遗憾的是,据我所知,不是以声明方式)。

关于xml - 如何在 AngularJS 中处理 XML 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15490658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com