Method: REXML::Element#delete_element
- Defined in:
- lib/rexml/element.rb
#delete_element(element) ⇒ Object
:call-seq:
delete_element(index) -> removed_element or nil
delete_element(element) -> removed_element or nil
delete_element(xpath) -> removed_element or nil
Deletes a child element.
When 1-based integer argument index is given, removes and returns the child element at that offset if it exists; indexing does not include text nodes; returns nil if the element does not exist:
d = REXML::Document.new '<a><b/>text<c/></a>'
a = d.root # => <a> ... </>
a.delete_element(1) # => <b/>
a.delete_element(1) # => <c/>
a.delete_element(1) # => nil
When element argument element is given, removes and returns that child element if it exists, otherwise returns nil:
d = REXML::Document.new '<a><b/>text<c/></a>'
a = d.root # => <a> ... </>
c = a[2] # => <c/>
a.delete_element(c) # => <c/>
a.delete_element(c) # => nil
When xpath argument xpath is given, removes and returns the element at xpath if it exists, otherwise returns nil:
d = REXML::Document.new '<a><b/>text<c/></a>'
a = d.root # => <a> ... </>
a.delete_element('//c') # => <c/>
a.delete_element('//c') # => nil
771 772 773 |
# File 'lib/rexml/element.rb', line 771 def delete_element element @elements.delete element end |