我从来没有遇到过将XML从一种形式转换为另一种形式的任务。我听说XSLT只是为了这个,但我不想去那里。所以,只用红宝石和引入nokogiri,哪能:
删除所有项目元素但是从最初的XML 时间也重命名元素时间到HammerTime?
初始XML:使用ruby/nokogiri将xml转换为另一个xml
...
<item>
<time>05.04.2011 9:53:23</time>
<iddqd>42</iddqd>
<idkfa>woot</idkfa>
</item>
<item>
...
期望的结果:
...
<item>
<HammerTime>05.04.2011 9:53:23</HammerTime>
</item>
<item>
...
我想通了如何从XML到阵列采用引入nokogiri的.xpath放数据,但有没有办法让所需要的转换成另一种XML无需手动编写类似puts "<HammerTime>#{array['time']}</HammerTime>"
的东西?
的引入nokogiri网站有做这种事情[教程](http://nokogiri.org/tutorials/modifying_an_html_xml_document.html)。该文档也充满了例子,例如Nokogiri :: XML :: Node。 –
我已经遍布XML :: Node docs,但未能理解如何去做我想要的。你链接到的教程也缺少很多想要的说明。 – bizzz
一步一步来吧。你想重命名一个节点。没有重命名方法,但有删除和添加节点方法,以及获取和设置节点内容的方法。所以你可以做一个副本+删除+添加。 –