8

默认的 rails XML builder 会转义所有 HTML,例如:

atom_feed do |feed|  
  @stories.each do |story|  
    feed.entry story do |entry|   
      entry.title story.title
      entry.content "<b>foo</b>"
    end  
  end  
end

将产生文本:

<b>foo</b>

而不是:foo

有什么方法可以指示 XML 构建器不要转义 XML?

4

3 回答 3

10

原来你需要做

entry.content "<b>foo</b>", :type => "html"

虽然将它包装在 CDATA 中会阻止它工作。

于 2008-09-20T00:48:36.227 回答
9
entry.content "type" => "html" do
    entry.cdata!(post.content)
end
于 2011-04-18T18:03:22.313 回答
0

http://builder.rubyforge.org/classes/Builder/XmlMarkup.html

特殊的 XML 字符 <、> 和 & 会自动转换为 <、> 和 &。使用 << 操作插入文本而不进行修改。

于 2008-12-30T13:47:21.593 回答