7

我在一家小公司工作,我们的生产系统使用手动 RESTful API,用 Java 和 JAXB 实现。我们现在发现我们正在接受使用 Ruby on Rails 的客户,我必须提出一个参考实现来向客户展示如何在 Ruby 中使用我们的 API。我希望能够告诉他们使用 ActiveResource,但我们的 API 所需的 XML 使用(并且绝对需要)命名空间。不幸的是,我们已经有许多其他客户已经集成了这个 API,所以删除命名空间的使用是不可能的。在 Ruby 中使用命名空间生成 XML 的最佳方法是什么?

4

2 回答 2

9

“最佳”显然取决于您的需求。

在 ruby​​ 中生成任何 XML的最快方法是使用libxml-ruby -链接到 rdoc。如果您的服务器有任何类型的负载,这将是要走的路。

在 ruby​​ 中生成任何 XML 的最简单方法是使用REXML 因为它是标准库的一部分,因此它“可以正常工作”。如果您的 XML 生成几乎从未被使用过,那么使用 rexml 可能更容易。

两者都支持 XML 命名空间 - 检查 rdocs 以了解如何设置和获取命名空间

于 2008-10-29T20:13:36.193 回答
1

我发现自己的情况与您的情况几乎相同(使用带有名称空间的 JAXB 完成的 RESTful API)。

我认为在 Ruby 中使用 XML 最有前途的项目是 HappyMapper。它是一种 XML 绑定库(类似于早期的 JAXB 类型的实现)。它最近获得了很大的关注,我们中的一些人一直致力于提供良好的命名空间支持。

该项目驻留在此处: http ://happymapper.rubyforge.org/

来源在这里:http: //github.com/jnunemaker/happymapper/tree/master

该项目目前不支持从 Ruby 对象创建 XML,并且原作者表示不希望提供这种支持,但我将在我的 fork 中为此提交一些功能:http: //github.com/jimmyz /happymapper/树/主

希望这可以帮助。

——吉米·齐默尔曼

于 2009-02-09T20:54:03.413 回答