0

我正在从数据库中获取数据并以 XML 格式发送响应,如下所示。

我想将数据提取到数组或散列中,然后响应 xml.. 或创建直接 xml..

请参考下面的xml示例...

<Response>
    <Tolls>
        <Toll>
            <Id>123</Id>
            <Name>Bradfield Highway</Name>
            <Address>Bradfield Highway, New York</Address>
            <Charge>5.95</Charge>
            <Location lat="41.145556" lng="-73.995"/>
               <EntryRects>
                 <EntryRect>
                   <Points>
                      <Point lat="41.145556" lng="-73.995"/>
                      <Point lat="41.145556" lng="-73.995"/>
                      <Point lat="41.145556" lng="-73.995"/>
                      <Point lat="41.145556" lng="-73.995"/>
                   </Points>
                 </EntryRects>
                 ...
               </EntryRects>
         </Toll>
        <Toll>
            ...
        </Toll>
        ...
    </Tolls>
</Response>

如果有人知道,请尽快给我回复...

4

2 回答 2

0

您没有说您使用的是什么数据库,但许多人可以为您生成 XML 作为查询的结果,而不是返回正常的“选择”语句的输出。这将是最快/最简单的路径,因为无论如何数据都必须返回到您的应用程序,因此让 DBM 即时进行转换。

第二个最简单的方法是使用像Nokogiri、 Builder 或其他几个 gem 之一。他们可以处理非 ASCII 字符的编码,指定正确的标头,并确保嵌套和标签闭包是正确的。这就是人们使用这些工具的原因,因为它们节省了大量的编码。

最后的选择应该是尝试自己做。仅仅因为您提出了这个问题,我怀疑您并不真正了解创建格式良好的 XML 的内容。可以使用诸如 ERB 或 HAML 之类的东西来帮助嵌套生成微不足道的 XML 输出,但编码将直接落在您身上。如果您坚持这样做,请开始阅读 Stack Overflow 页面右侧的所有相关链接,以及您可以找到的任何 XML 文档。

于 2013-01-28T14:55:39.687 回答
0

您应该使用Builder::XmlMarkup,它提供了一种创建 XML 标记和数据结构的简单方法

于 2013-01-28T14:32:08.640 回答