我從來沒有遇到過將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
一步一步來吧。你想重命名一個節點。沒有重命名方法,但有刪除和添加節點方法,以及獲取和設置節點內容的方法。所以你可以做一個副本+刪除+添加。 –