From: Ted Flethuseo Date: 2011-04-14T22:31:07+09:00 Subject: Re: removing nodes from Nokogiri::XML::NodeSet It doesn't remove it though. I also don't want specifically to remove the first or last node, often I want to remove one somewhere in the middle of the array. puts nodes.length nodes[0].remove puts nodes.length when I run that code I have originally 4 nodes, and after, I still have 4 nodes. I found a way to do this but I disklike it, because it has to search for the node every time it needs to erase it. puts nodes.length nodes.delete(nodes[0]) puts nodes.length Ted Mike Dalessio wrote in post #992653: > Greetings, > > On Wed, Apr 13, 2011 at 8:06 PM, Ted Flethuseo > wrote: > >> Hi everyone, >> >> I am having trouble removing a node from a Nokogiri::XML::NodeSet, not >> sure what >> I should use to remove a specific node at a given position. >> > > Nokogiri's NodeSet implements Enumerable, and much of the Array > interface, > so you should be able to treat it much like you'd treat any Ruby Array. > > For example, to remove the first node in a NodeSet, simply use > `nodes.shift`. To remove the last node, use `nodes.pop`. Etc. > > >> I have tried the following but it doesn't seem to work: >> >> puts nodes.length >> nodes[0].remove >> > > Just a note, that the above code removes the first node in the NodeSet > from > its document. Not what you want. > > Best of luck. -- Posted via http://www.ruby-forum.com/.