我从数据库中获取数据并以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>
如果有人知道的话,请尽快给我回复......
答案 0 :(得分:0)
你应该使用Builder::XmlMarkup,它提供了一种创建XML标记和数据结构的简单方法
答案 1 :(得分:0)
您没有说出您正在使用的数据库,但是许多数据库可以作为查询的结果为您生成XML,而不是返回正常的“select”语句的输出。这将是最快/最简单的路径,因为无论如何数据都必须返回到您的应用程序,所以让DBM即时进行转换。
第二个最简单的方法是使用Nokogiri,Builder或其他几种宝石之一。他们可以处理非ASCII字符的编码,指定正确的标题,并确保嵌套和标记闭包是正确的。这就是人们使用这些工具的原因,因为它们可以节省大量的编码。
最后的选择应该是尝试自己做。仅仅因为你问了这个问题,我怀疑你并不真正理解创建格式良好的XML的原因。可以使用ERB或可能 HAML之类的东西生成简单的XML输出来帮助嵌套,但编码将直接落在你身上。如果您坚持这样做,那么请开始阅读Stack Overflow页面右侧的所有相关链接,以及您可以找到的任何XML文档。