class REXML::Child

Child 对象是被父对象包含的东西,这个类包含支持此操作的方法。大多数用户代码不会直接使用此类。

属性

parent[R]

公共类方法

new( parent = nil ) 点击切换源代码

构造函数。此类的任何继承者都应调用 super 以确保此方法被调用。

parent

如果提供,则此子对象的父对象将设置为提供的值,并且 self 将添加到父对象

# File rexml-3.4.0/lib/rexml/child.rb, line 18
def initialize( parent = nil )
  @parent = nil
  # Declare @parent, but don't define it.  The next line sets the
  # parent.
  parent.add( self ) if parent
end

公共实例方法

bytes() 点击切换源代码

这尚未处理编码

# File rexml-3.4.0/lib/rexml/child.rb, line 91
def bytes
  document.encoding

  to_s
end
document() 点击切换源代码
返回

此子对象所属的文档,如果此子对象

不属于任何文档,则返回 nil

# File rexml-3.4.0/lib/rexml/child.rb, line 85
def document
  return parent.document unless parent.nil?
  nil
end
next_sibling=( other ) 点击切换源代码

设置此子对象的下一个兄弟节点。这可以用来在其他子节点之后插入一个子节点。

a = Element.new("a")
b = a.add_element("b")
c = Element.new("c")
b.next_sibling = c
# => <a><b/><c/></a>
# File rexml-3.4.0/lib/rexml/child.rb, line 68
def next_sibling=( other )
  parent.insert_after self, other
end
parent=( other ) 点击切换源代码

将此子对象的父对象设置为提供的参数。

other

必须是 Parent 对象。如果此对象与此子对象的现有父对象是同一个对象,则不采取任何操作。否则,此子对象将从当前父对象(如果存在)中删除,并添加到新的父对象中。

返回

添加的父对象

# File rexml-3.4.0/lib/rexml/child.rb, line 52
def parent=( other )
  return @parent if @parent == other
  @parent.delete self if defined? @parent and @parent
  @parent = other
end
previous_sibling=(other) 点击切换源代码

设置此子对象的前一个兄弟节点。这可以用来在其他子节点之前插入一个子节点。

a = Element.new("a")
b = a.add_element("b")
c = Element.new("c")
b.previous_sibling = c
# => <a><b/><c/></a>
# File rexml-3.4.0/lib/rexml/child.rb, line 79
def previous_sibling=(other)
  parent.insert_before self, other
end
remove() 点击切换源代码

从父对象中删除此子对象。

返回

self

# File rexml-3.4.0/lib/rexml/child.rb, line 37
def remove
  unless @parent.nil?
    @parent.delete self
  end
  self
end
replace_with( child ) 点击切换源代码

用另一个对象替换此对象。基本上,调用 Parent.replace_child

返回

self

# File rexml-3.4.0/lib/rexml/child.rb, line 29
def replace_with( child )
  @parent.replace_child( self, child )
  self
end