如何删除Ox中的元素?

时间:2012-09-07 02:27:24

标签: ruby xml xml-parsing gem nokogiri

如何在使用Ox解析XML时删除元素?

Ox有一个追加方法- (Object) <<(node),但似乎没有- (Element) remove方法。 Nokogiri有一个remove函数,Ox有一个等价函数吗?

http://www.ohler.com/ox/Ox/Element.html

1 个答案:

答案 0 :(得分:1)

考虑这个文件:

doc = Ox::Document.new(:version => '1.0')
top = Ox::Element.new('top')
top[:name] = 'sample'
doc << top

现在你可以观察:

doc.nodes.class => Array

您的节点只是一个常规的ruby数组。 因此,您将所有Enumerable功能与Ruby的Array工具相结合。

要删除我们上面创建的元素,您可以执行以下操作:

doc.nodes.delete top

或者基于索引的删除,如果这是你需要的:

doc.nodes.delete_at 0

希望这有帮助