1

この行を xml で作成するには、助けが必要です。Google コンテンツ 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 に答える