如何将另一个XML元素插入到我使用Builder :: XmlMarkup创建的XML文件中?例如,像
xml = Builder::XmlMarkup.new( :indent => 4 )
xml.content
xml.common do
xml.common_field1 do
// common_field1 content
end
xml.common_field2 do
// common_field 2 content
end
end
xml.custom do
xml.insert!(<XML element>)
end
end
<XML element>
看起来像
<elements>
<element>
// element content
</element>
<element>
// element content
</element>
<elements>
,最终输出看起来像
<content>
<common>
<content1>
<!-- content1 -->
</content1>
<content2>
<!-- content2 -->
</content2>
</common>
<custom>
<elements>
<element>
<!-- element content -->
</element>
<element>
<!-- element content -->
</element>
</elements>
</custom>
</content>
我尝试过使用<<
运算符,但遗憾的是这并不能保持格式化。
答案 0 :(得分:1)
<<
正是您所需要的:
xml.custom do |custom|
custom << '<XML element>'
end
Rubydocs似乎不起作用,所以这里是源代码的链接:https://github.com/jimweirich/builder/blob/master/lib/builder/xmlbase.rb#L104