【问题标题】:Ruby: Insert new XML element into existing XML fileRuby:将新的 XML 元素插入现有的 XML 文件
【发布时间】:2017-09-26 02:02:41
【问题描述】:

如何将另一个 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

&lt;XML element&gt; 看起来像

<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>

我尝试过使用 &lt;&lt; 运算符,但不幸的是它并没有保持格式。

【问题讨论】:

    标签: ruby xml nokogiri


    【解决方案1】:

    &lt;&lt; 正是你所需要的:

    xml.custom do |custom|
        custom << '<XML element>'
    end
    

    Rubydocs 似乎不起作用,所以这里是源代码的链接:https://github.com/jimweirich/builder/blob/master/lib/builder/xmlbase.rb#L104

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-17
      • 2020-07-15
      • 1970-01-01
      相关资源
      最近更新 更多