那么我有一个简单的问题与诺基里.我想让Nokogiri ::
HTML :: Builder制作以下格式的HTML片段:
<div> #Some stuff in here </div> <div> #Some other stuff in here </div>
当尝试做:
@builder = Nokogiri::HTML::Builder.new(:encoding => 'UTF-8') do |doc| doc.div { doc.p "first test" } doc.div { doc.p "second test" } end @builder.to_html
我得到一个错误:文档已经有一个根节点,我部分地了解.我知道我并没有将整个东西包装到标签中(Nokogiri希望Nokogiri :: HTML :: Builder从Nokogiri :: XML :: Builder继承,XML文档必须有一个根节点).但我没有构建一个XML文档.
我错过了什么吗?任何一种帮助是非常感谢.
解决方法
如您所说,Builder不会允许您构建具有多个根节点的HTML文档.您需要使用DocumentFragment
@doc = Nokogiri::HTML::DocumentFragment.parse "" Nokogiri::HTML::Builder.with(@doc) do |doc| doc.div { doc.p "first test" } doc.div { doc.p "second test" } end puts @doc.to_html