Ruby 2.2.0 リファレンスマニュアル > ライブラリ一覧 > rexml/documentライブラリ > REXML::Elementsクラス > delete

instance method REXML::Elements#delete

delete(element) -> Element[permalink][rdoc]

element で指定した子要素を取り除きます。

element には、REXML::Element、整数、文字列が指定できます。 Element オブジェクトを指定した場合は、その子要素を取り除きます。 整数を指定した場合には element 番目の子要素を削除します(1-originです)。 文字列を指定した場合は、削除する要素を XPath で指定します。 XPathが複数の要素を指している場合は、そのうち一つを削除します。

取り除かれた要素を返します。

XPath で指定した場合、子要素ではない要素も取り除けることに注意してください。

[PARAM] element:
削除する要素(REXML::Element, 整数, 文字列)

require 'rexml/document'
doc = REXML::Document.new '<a><b/><c/><c id="1"/></a>'
b = doc.root.elements[1]
doc.root.elements.delete b           # => <b/>
doc.root.to_s                        # => "<a><c/><c id='1'/></a>"
doc.elements.delete("a/c[@id='1']")  # => <c id='1'/>
doc.root.to_s                        # => "<a><c/></a>"
doc.root.elements.delete 1           # => <c/>
doc.root.to_s                        # => "<a/>"
doc.root.elements.delete '/a'
doc.root.to_s                        # => ""