-4

ルビー。RSS の生成には standard builder を使用しています。私のビルダーファイルは次のとおりです。

xml.instruct! :xml, :version => "1.0"
xml.rss(:version => "2.0") {
xml.channel {
    xml.title(@digest.name)
    xml.description(@digest.name)
    xml.link(url_for(:only_path => false))
    for post in @posts
        xml.item do
            xml.title(post.title || '')
            xml.description(post.summary)
            xml.link(post.url)
            xml.source(post.feed.name)
            xml.guid(post.url)
            xml.pubDate(post.pub_date.to_s(:rfc822))
        end
     end
    }
}

RSS フィード ( require rss) を生成するには、次のコードを使用します。

xml.source(post.feed.name)

そして得る:

<source>Cnn news</source>

しかし、私はそのようなものが欲しい:

<source url="http://news.cnn.com">Cnn news</source>

urlパラメータをxmlソースタグに追加するにはどうすればよいですか?

4

1 に答える 1

1

これを行うためにどのライブラリを使用しているかはわかりませんが、ビルダーにハッシュを渡すと、それがノードの属性として追加されます。

require 'builder'
 => true 
x = Builder::XmlMarkup.new(:target => $stdout, :indent => 1)
<inspect/>
 => #<IO:0x000000008822a0> 
x.source("CNN News", "url" => "http://www.cnn.com")
<source url="http://www.cnn.com">CNN News</source>
 => #<IO:<STDOUT>>  
于 2012-11-01T04:55:26.777 に答える