如何在使用Ox解析XML时删除元素?
Ox有一个追加方法- (Object) <<(node)
,但似乎没有- (Element) remove
方法。 Nokogiri有一个remove
函数,Ox有一个等价函数吗?
答案 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
希望这有帮助