1

我需要一些帮助才能在 xml 中构建这一行。对于谷歌内容 API

我想要得到的结果是<scp:price unit='USD'>25</scp:price>

目前我的代码输出这一行<scp:price unit='USD'>25</scp:price unit='USD'>是不正确的。

这是我的代码

b = Nokogiri::XML::Builder.new do |xml|
      xml.send("scp:price unit='USD'",'25') 
end

非常感谢提前

4

2 回答 2

3

您的问题是 Nokogiri 将整个解释scp:price unit='USD'为标签名称。如果将标签名称与属​​性分开,您应该会得到更好的结果:

xml.send('scp:price', { :unit => 'USD' }, 25)

那应该给你<scp:price unit="USD">25</scp:price>你正在寻找的东西。

于 2012-10-11T05:02:22.233 回答
3

Mu 是正确的,但实际上应该是这样的:

b = Nokogiri::XML::Builder.new do |xml|
  xml.root('xmlns:scp' => 'http://scp.com/') do
    xml['scp'].price '25', :unit => 'USD'
  end
end
于 2012-10-11T05:18:53.027 回答