Rails XML Builder:如何隐式构造 XML 元素?

发布于 2024-08-15 07:32:43 字数 408 浏览 12 评论 0原文

我正在尝试使用 xml 生成器,而无需明确定义元素。当所需元素不同时,这很有用。

我怎样才能完成类似以下的事情?

 xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
 for col in [:customer, :name, :address, :city, :street, :postal_code]
   eval("xml.#{col.to_s.upcase}(#{self[col]})")
 end

如果 self[col] 中有 ' 或 " ,这段代码显然不起作用。我也不想使用 eval。我已经尝试过:

xml.send(col.to_s.upcase, self[col]

I am trying to use xml builder without explicit definition of elements. This is useful when the required elements are variant.

How can I accomplish something similar to the following?

 xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
 for col in [:customer, :name, :address, :city, :street, :postal_code]
   eval("xml.#{col.to_s.upcase}(#{self[col]})")
 end

This code obviously does not work if there is a ' or " in self[col]. I would also prefer not to use eval. I have already tried:

xml.send(col.to_s.upcase, self[col]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笛声青案梦长安 2024-08-22 07:32:43
xml.tag!(col.to_s_upcase, self[col])
xml.tag!(col.to_s_upcase, self[col])
倥絔 2024-08-22 07:32:43
xml.tag!(element_name, element_value)
xml.tag!(element_name, element_value)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文