好吧,我和Nokogiri有一个简单的问题.我想让Nokogiri :: HTML :: Builder制作以下形式的HTML片段:
<div>
#Some stuff in here
</div>
<div>
#Some other stuff in here
</div>
Run Code Online (Sandbox Code Playgroud)
在尝试时:
@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
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:Document has already a root node我部分理解.我知道我没有将整个事物包装成标签(Nokogiri预计,Nokogiri :: HTML :: Builder继承自Nokogiri :: XML :: Builder,XML文档必须具有根节点).但我不是在构建XML文档.
我错过了什么吗?任何形式的帮助都非常感谢.
mic*_*ael 25
如您所述,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
Run Code Online (Sandbox Code Playgroud)