Class Child¶ ↑
Class Child includes module Node; see Tasks for Node.
Tasks on this page:
Relationships¶ ↑
Task: Set the Parent¶ ↑
Use method Child#parent= to set the parent:
e0 = REXML::Element.new('foo') e1 = REXML::Element.new('bar') e1.parent # => nil e1.parent = e0 e1.parent # => <foo/>
Task: Insert Previous Sibling¶ ↑
Use method Child#previous_sibling= to insert a previous sibling:
xml_string = '<root><a/><c/></root>' d = REXML::Document.new(xml_string) d.root.to_a # => [<a/>, <c/>] c = d.root[1] # => <c/> b = REXML::Element.new('b') c.previous_sibling = b d.root.to_a # => [<a/>, <b/>, <c/>]
Task: Insert Next Sibling¶ ↑
Use method Child#next_sibling= to insert a previous sibling:
xml_string = '<root><a/><c/></root>' d = REXML::Document.new(xml_string) d.root.to_a # => [<a/>, <c/>] a = d.root[0] # => <a/> b = REXML::Element.new('b') a.next_sibling = b d.root.to_a # => [<a/>, <b/>, <c/>]
Removal or Replacement¶ ↑
Task: Remove Child from Parent¶ ↑
Use method Child#remove to remove a child from its parent; returns the removed child:
xml_string = '<root><a/><b/><c/></root>' d = REXML::Document.new(xml_string) d.root.to_a # => [<a/>, <b/>, <c/>] b = d.root[1] # => <b/> b.remove # => <b/> d.root.to_a # => [<a/>, <c/>]
Task: Replace Child¶ ↑
Use method Child#replace_with to replace a child; returns the replaced child:
xml_string = '<root><a/><b/><c/></root>' d = REXML::Document.new(xml_string) d.root.to_a # => [<a/>, <b/>, <c/>] b = d.root[1] # => <b/> d = REXML::Element.new('d') b.replace_with(d) # => <b/> d.root.to_a # => [<a/>, <d/>, <c/>]
Document¶ ↑
Task: Get the Document¶ ↑
Use method Child#document to get the document for the child:
xml_string = '<root><a/><b/><c/></root>' d = REXML::Document.new(xml_string) d.root.to_a # => [<a/>, <b/>, <c/>] b = d.root[1] # => <b/> b.document == d # => true REXML::Child.new.document # => nil