るりまサーチ (Ruby 2.1.0)

最速Rubyリファレンスマニュアル検索!
85件ヒット [1-85件を表示] (0.048秒)
トップページ > バージョン:2.1.0[x] > クエリ:REXML::Element[x]

別のキーワード

  1. rexml/document new
  2. rexml/document write
  3. rexml/document to_s
  4. rexml/document clone
  5. rexml/document node_type

検索結果

REXML::Element (69001.0)

XML の要素(エレメント、element)を表すクラス。

XML の要素(エレメント、element)を表すクラス。

要素は
* 子要素(children)
* 属性(attributes)
* 名前(name)
を持つものとして特徴付けられます。

また、要素はある別の要素の子となることもできます。

REXML::Element.new(arg = UNDEFINED, parent = nil, context = nil) -> REXML::Element (63412.0)

要素オブジェクトを生成します。

要素オブジェクトを生成します。

arg が文字列の場合、新たな要素の名前は arg に設定されます。
arg が REXML::Element オブジェクトの場合は、
新たな要素の名前、属性、context が arg のもので初期化されます。

parent で親ノードを指定します。

context には hash table で要素のコンテキストを指定します。
基本的には text node (REXML::Text) での特別な文字、特に空白について
の取り扱いを指定できます。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
...

REXML::Element#delete_element(element) -> REXML::Element (63340.0)

子要素を削除します。

子要素を削除します。

element で削除する要素を指定できます。整数、文字列、REXML::Element
オブジェクトのいずれかが指定できます。

REXML::Element を指定すると、その要素が削除されます。
整数を指定すると、element 番目の要素を削除します(1-originで指定します)。
文字列を指定すると、XPath としてマッチする要素を削除します。
複数の要素がマッチする場合はそのうち1つが削除されます。

@param element 削除する要素
@see REXML::Elements#delete

//emlist[][ruby]{
require...

REXML::Element#clone -> REXML::Element (63304.0)

self を複製して返します。

self を複製して返します。

複製されるのは名前、属性、名前空間のみです。
子ノードは複製されません。

REXML::Element#get_elements(xpath) -> [REXML::Element] (63304.0)

xpath にマッチする要素を配列で返します。

xpath にマッチする要素を配列で返します。

xpath には XPath 文字列を指定します。

@param xpath XPath 文字列
@see REXML::Elements#to_a

絞り込み条件を変える

REXML::Element#root -> REXML::Element (63304.0)

self が属する文書のルート要素を返します。

self が属する文書のルート要素を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root>
<children>
<grandchildren />
</children>
</root>
EOS

children = doc.get_elements("/root/children").first
children.name # => "children"
children.root.name # => "root"
grandchildren = doc.get...

REXML::Element#elements -> REXML::Elements (63301.0)

要素が保持している子要素の集合を返します。

要素が保持している子要素の集合を返します。

REXML::Element#context -> {Symbol => object} | nil (63109.0)

要素の「コンテキスト」を Hash で返します。

要素の「コンテキスト」を Hash で返します。

コンテキストとは text node (REXML::Text) での特別な文字、特に空白について
の取り扱いについての設定です。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
空白を考慮して欲しい要素の名前の集合を文字列の配列で指定します。
また、すべての要素で空白を考慮して欲しい場合には
:all を指定します。
デフォルト値は :all です。
REXML::Element#whitespace も参照してください。
: :compress_whitespac...

REXML::Element#context=(value) (63109.0)

要素の「コンテキスト」を Hash で設定します。

要素の「コンテキスト」を Hash で設定します。

コンテキストとは、 text node (REXML::Text) での特別な文字、特に空白について
の取り扱いについての設定です。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
空白を考慮して欲しい要素の名前の集合を文字列の配列で指定します。
また、すべての要素で空白を考慮して欲しい場合には
:all を指定します。
デフォルト値は :all です。
REXML::Element#whitespace も参照してください。
: :compress_whitesp...

REXML::Element#add_element(element, attrs = nil) -> Element (63073.0)

子要素を追加します。

子要素を追加します。

element として追加する要素を指定します。
REXML::Element オブジェクトもしくは文字列を指定します。

element として REXML::Element オブジェクトを指定した場合、それが追加されます。
文字列を指定した場合は、それを要素名とする要素を追加します。

attrs に { String => String } という Hash を渡すと、
追加する要素の属性を指定できます。

子要素の最後に追加されます。

返り値は追加された要素です。

@param element 追加する要素
@param attrs 追加する要素に設定する...

絞り込み条件を変える

REXML::Element#add_attributes(attrs) -> () (63037.0)

要素の属性を複数追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。

要素の属性を複数追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。

attrs には Hash もしくは Array を指定できます。
Hash の場合は、
{ "name1" => "value1", "name2" => "value2", ... }
という形で、配列の場合は
[ ["name1", "value1"], ["name2", "value2"], ... }
という形で追加/更新する属性を指定します。

@param attrs 追加する属性の属性名と属性値の対の集合(Array or Hash)

//emlist[][rub...

REXML::Element#add_namespace(prefix, uri) -> self (63019.0)

名前空間を要素に追加します。

名前空間を要素に追加します。

引数が2個の場合は prefix と uri を指定します。
引数が1個の場合はデフォルトの namespace の uri を指定します。

既に同じ prefix が存在する場合はそれが上書きされます。

@param prefix 名前空間の prefix
@param uri 名前空間の uri

//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new("a")
a.add_namespace("xmlns:foo", "bar" )
a.add_namespace("foo",...

REXML::Element#add_namespace(uri) (63019.0)

名前空間を要素に追加します。

名前空間を要素に追加します。

引数が2個の場合は prefix と uri を指定します。
引数が1個の場合はデフォルトの namespace の uri を指定します。

既に同じ prefix が存在する場合はそれが上書きされます。

@param prefix 名前空間の prefix
@param uri 名前空間の uri

//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new("a")
a.add_namespace("xmlns:foo", "bar" )
a.add_namespace("foo",...

REXML::Element#delete_attribute(key) -> REXML::Attribute | nil (63019.0)

要素から key という属性名の属性を削除します。

要素から key という属性名の属性を削除します。

削除された属性を返します。

key という属性名の属性が存在しない場合は削除されずに、nil を返します。

@param key 削除する要素(文字列(属性名) or REXML::Attributeオブジェクト)

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("E")
e.add_attribute("x", "foo"); e # => <E x='foo'/>
e.add_attribute("y:x", "bar"); e # => <E x...

REXML::Element#get_text(path = nil) -> REXML::Text | nil (63019.0)

先頭のテキスト子ノードを返します。

先頭のテキスト子ノードを返します。

raw モードの設定は無視され、常に正規化されたテキストを返します。
REXML::Text#value も参照してください。

path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。

テキストノードがない場合には nil を返します。

@param path XPath文字列
@see REXML::Element#text

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<p>some text <b>this ...

絞り込み条件を変える

REXML::Element#raw -> bool (63019.0)

その要素が raw モードであるならば真を返します。

その要素が raw モードであるならば真を返します。

以下のいずれかであれば、raw モードであると判定されます。
* REXML::Element#context の :raw が :all である
* context の :raw の配列に self の要素名が含まれる

REXML::Element#text(path = nil) -> String | nil (63019.0)

先頭のテキスト子ノードの文字列を返します。

先頭のテキスト子ノードの文字列を返します。

テキストノードを複数保持している場合は最初のノードにしか
アクセスできないことに注意してください。

raw モードの設定は無視され、常に正規化されたテキストを返します。
REXML::Text#value も参照してください。

path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。

テキストノードがない場合には nil を返します。

@param path XPath文字列
@see REXML::Element#get_text

//emlist[][ruby]{
require 'rexml...

REXML::Element#whitespace -> bool (63019.0)

要素(self)内で空白が考慮されるならば真を返します。

要素(self)内で空白が考慮されるならば真を返します。

これは、
* REXML::Element#context に :respect_whitespace も :compress_whitespace も
含まれない
* context の :respect_whitespace に self の要素名が含まれていて、
:compress_whitespace に self の要素名が含まれていない。
「含まれている」というのには :all が指定されている場合と、
配列に含まれている場合の両方があります。
のいずれかの場合に真を返します。

要...

REXML::Element#add_attribute(attr) -> () (63001.0)

要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。

要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。

引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。

文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。

@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)

//emlist[][ruby]{
require 'rexml/document'
doc = ...

REXML::Element#add_attribute(key, value) -> () (63001.0)

要素の属性を追加します。 同じ名前の属性がすでにある場合はその属性を新しい 属性で置き換えます。

要素の属性を追加します。
同じ名前の属性がすでにある場合はその属性を新しい
属性で置き換えます。

引数の与えかたは2通りあります。
要素名と値の2つの文字列で渡す方法と REXML::Attribute オブジェクトを
渡す方法です。

文字列2つで指定する場合、属性値は unnormalized な文字列を渡す必要があります。

@param key 属性名(文字列)
@param value 属性値(文字列)
@param attr 属性(REXML::Attribute オブジェクト)

//emlist[][ruby]{
require 'rexml/document'
doc = ...

絞り込み条件を変える

REXML::Element#attribute(name, namespace = nil) -> REXML::Attribute | nil (63001.0)

name で指定される属性を返します。

name で指定される属性を返します。

属性は REXML::Attribute オブジェクトの形で返します。

name は "foo:bar" のように prefix を指定することができます。

namespace で名前空間の URI を指定することで、その名前空間内で
name という属性名を持つ属性を指定できます。

指定した属性名の属性がない場合は nil を返します。

@param name 属性名(文字列)
@param namespace 名前空間のURI(文字列)
//emlist[][ruby]{
require 'rexml/document'

doc = R...

REXML::Element#attributes -> REXML::Attributes (63001.0)

要素が保持している属性の集合を返します。

要素が保持している属性の集合を返します。

REXML::Element#cdatas -> [REXML::CData] (63001.0)

すべての cdata 子ノードの配列を返します。

すべての cdata 子ノードの配列を返します。

返される配列は freeze されます。

REXML::Element#comments -> [REXML::Comments] (63001.0)

すべての comment 子ノードの配列を返します。

すべての comment 子ノードの配列を返します。

返される配列は freeze されます。

REXML::Element#delete_namespace(namespace = "xmlns") -> self (63001.0)

名前空間を要素から削除します。

名前空間を要素から削除します。

削除可能な名前空間はそのノードで宣言されているもののみです。
上位の要素で宣言されているものは削除できません。

引数を省略した場合はデフォルトの名前空間を削除します。

@param namespace 削除する名前空間の prefix

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<a xmlns:foo='bar' xmlns='twiddle'/>"
doc.root.delete_namespace
doc.to_s # => "<a xmlns:foo=...

絞り込み条件を変える

REXML::Element#document -> REXML::Document | nil (63001.0)

self が属する文書(REXML::Document)オブジェクトを返します。

self が属する文書(REXML::Document)オブジェクトを返します。

属する文書がない場合には nil を返します。

REXML::Element#each_element(xpath = nil) {|element| ... } -> () (63001.0)

各子要素を引数としてブロックを呼び出します。

各子要素を引数としてブロックを呼び出します。

xpath に文字列を指定するとそれにマッチする子要素のみを対象とします。

@param xpath XPath 文字列

REXML::Element#each_element_with_attribute(key, value = nil, max = 0, name = nil) {|element| ... } -> () (63001.0)

特定の属性を持つすべての子要素を引数としてブロックを呼び出します。

特定の属性を持つすべての子要素を引数としてブロックを呼び出します。

key で指定した属性名の属性を持つ要素のみを対象とします。
value を指定すると、keyで指定した属性名を持つ属性の値がvalueである
もののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。

max に 0 を指定すると、max の指定は無視されます(0個ではありません)。

@param key 属性名(文字列)
@param value 属性値(文字列)
...

REXML::Element#each_element_with_text(text = nil, max = 0, name = nil) {|element| ... } -> () (63001.0)

テキストを子ノードとして 持つすべての子要素を引数としてブロックを呼び出します。

テキストを子ノードとして
持つすべての子要素を引数としてブロックを呼び出します。

text を指定すると、テキストの内容が text であるもののみを対象とします。
maxを指定すると、対象となる子要素の先頭 max 個のみが対象となります。
name を指定すると、それは xpath 文字列と見なされ、
それにマッチするもののみが対象となります。

max に 0 を指定すると、max の指定は無視されます(0個ではありません)。

@param text テキストの中身(文字列)
@param max ブロック呼出の対象とする子要素の最大個数
@param name xpath文字列

...

REXML::Element#has_attributes? -> bool (63001.0)

要素が属性を1つ以上持っていれば真を返します。

要素が属性を1つ以上持っていれば真を返します。

絞り込み条件を変える

REXML::Element#has_elements? -> bool (63001.0)

self が一つでも子要素を持つならば true を返します。

self が一つでも子要素を持つならば true を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a><b/><c>Text</c></a>")
doc.root.has_elements? # => true
doc.elements["/a/b"].has_elements? # => false
# /a/c はテキストノードしか持たないので false である
doc.elements["/a/c"].has_elements? # => f...

REXML::Element#has_text? -> bool (63001.0)

要素がテキストノードを子ノードとして持つ場合に true を返します。

要素がテキストノードを子ノードとして持つ場合に true を返します。

REXML::Element#instructions -> [REXML::Instraction] (63001.0)

すべての instruction 子ノードの配列を返します。

すべての instruction 子ノードの配列を返します。

返される配列は freeze されます。

REXML::Element#namespace(prefix=nil) -> String (63001.0)

self の文脈で prefix が指している名前空間の URI を返します。

self の文脈で prefix が指している名前空間の URI を返します。

prefix を省略すると、デフォルトの名前空間の URI を返します。

prefix で指示される名前空間の宣言が存在しない場合は nil を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a xmlns='1' xmlns:y='2'><b/><c xmlns:z='3'/><y:d /></a>")
b = doc.elements['//b']
b.namespace # => "1"
...

REXML::Element#namespaces -> {String => String} (63001.0)

self の文脈で定義されている名前空間の情報を返します。

self の文脈で定義されている名前空間の情報を返します。

対象の要素とその外側の要素で定義されている名前空間を、{ prefix => 識別子 }
というハッシュテーブルで返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a xmlns:x='1' xmlns:y='2'><b/><c xmlns:z='3'/></a>")
doc.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"}
//}

絞り込み条件を変える

REXML::Element#next_element -> Element | nil (63001.0)

次の兄弟要素を返します。

次の兄弟要素を返します。

次の要素が存在しない場合は nil を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b/>text<c/></a>'
doc.root.elements['b'].next_element # => <c/>
doc.root.elements['c'].next_element # => nil
//}

REXML::Element#node_type -> Symbol (63001.0)

シンボル :element を返します。

シンボル :element を返します。

REXML::Element#prefixes -> [String] (63001.0)

self の文脈で定義されている prefix を文字列の配列を返します。

self の文脈で定義されている prefix を文字列の配列を返します。

対象の要素とその外側の要素で定義されている prefix を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a xmlns:x='1' xmlns:y='2'><b/><c xmlns:z='3'/></a>")
doc.elements['//b'].prefixes # => ["x", "y"]
//}

REXML::Element#previous_element -> Element | nil (63001.0)

前の兄弟要素を返します。

前の兄弟要素を返します。

前の要素が存在しない場合は nil を返します。

REXML::Element#root_node -> REXML::Document | REXML::Node (63001.0)

self が属する文書のルートノードを返します。

self が属する文書のルートノードを返します。

通常はその要素が属する文書(REXML::Document) オブジェクトが
返されます。

その要素が属する REXML::Document オブジェクトが存在しない
場合は木構造上のルートノードが返されます。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root>
<children>
<grandchildren />
</children>
</root>
EOS

children = doc.get_elements...

絞り込み条件を変える

REXML::Element#text=(text) (63001.0)

「先頭の」テキストノードを text で置き換えます。

「先頭の」テキストノードを text で置き換えます。

テキストノードを1つ以上保持している場合はそのうち
最初のノードを置き換えます。

要素がテキストノードを保持していない場合は新たなテキストノードが追加されます。

text には文字列、REXML::Text、nil のいずれかが指定できます。
REXML::Text オブジェクトを指定した場合には、それが設定され、
文字列を指定した場合には
REXML::Text.new(text, whitespace(), nil, raw())
で生成される Text オブジェクトが設定されます。
nil を指定すると最初のテキストノードが削...

REXML::Element#texts -> [REXML::Texts] (63001.0)

すべてのテキスト子ノードの配列を返します。

すべてのテキスト子ノードの配列を返します。

返される配列は freeze されます。

REXML::Element#write(output = $stdout, indent = -1, transitive = false, ie_hack = false) (63001.0)

このメソッドは deprecated です。 REXML::Formatter を代わりに 使ってください。

このメソッドは deprecated です。 REXML::Formatter を代わりに
使ってください。

output にその要素を文字列化したものを(子要素を含め)出力します。

@param output 出力先(IO のように << で書き込めるオブジェクト)
@param indent インデントのスペースの数(-1 だとインデントしない)
@param transitive XMLではインデントのスペースでDOMが変化してしまう場合がある。
これに真を渡すと、XMLのDOMに余計な要素が加わらないように
空白の出力を適当に抑制するようになる
@par...

REXML::Element#xpath -> String (63001.0)

文書上の対象の要素にのみマッチする xpath 文字列を返します。

文書上の対象の要素にのみマッチする xpath 文字列を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new('<a><b/><c/></a>')
c = doc.root.elements[2] # <a> .. </a> の中の <c/> 要素
c # => <c/>
c.xpath # => "/a/c"
doc = REXML::Document.new('<a><b/><b/></a>')
b = doc.root.elements[2] # <a> .. </a> の中の2番目の <b...

REXML::Element::UNDEFINED -> String (63001.0)

"UNDEFINED" という文字列。

"UNDEFINED" という文字列。

絞り込み条件を変える

REXML::Elements#<<(element = nil) -> REXML::Element (9379.0)

要素 element を追加します。

要素 element を追加します。

element には文字列もしくは REXML::Element オブジェクトを
指定します。文字列を指定した場合には REXML::Element.new(element)
で生成される要素を追加します。

element を省略した場合は、空の要素が追加されます。

追加された要素が返されます。

@param element 追加する要素

//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new('a')
a.elements.add(REXML::Element.new...

REXML::Elements#add(element = nil) -> REXML::Element (9379.0)

要素 element を追加します。

要素 element を追加します。

element には文字列もしくは REXML::Element オブジェクトを
指定します。文字列を指定した場合には REXML::Element.new(element)
で生成される要素を追加します。

element を省略した場合は、空の要素が追加されます。

追加された要素が返されます。

@param element 追加する要素

//emlist[][ruby]{
require 'rexml/document'
a = REXML::Element.new('a')
a.elements.add(REXML::Element.new...

REXML::Elements.new(parent) -> REXML::Elements (9319.0)

空の要素の集合を表すオブジェクトを生成します。

空の要素の集合を表すオブジェクトを生成します。

通常は REXML::Element.new によって Elements オブジェクトが
生成されるため、このメソッドを使う必要はありません。

@param parant 親要素オブジェクト

REXML::Elements#[](index, name = nil) -> REXML::Element | nil (9304.0)

index が指し示している要素を返します。

index が指し示している要素を返します。

index には整数もしくは文字列を指定できます。

index に整数を指定した場合は index 番目の子要素を返します。
index は 1-origin です。つまり
最初の要素の index は 1 であり、 0 ではありません。
n 番目の要素の index は n であり、 n-1 ではありません。
これは XPath の仕様に合わせています。

index に文字列を指定した場合はその文字列を XPath と見なし、
それで指定された要素を返します。
XPath が複数の要素を指している場合は、そのうち一つを返します。
XPath...

REXML::Elements#delete_all(xpath) -> [REXML::Element] (9304.0)

xpath で指定した XPath 文字列にマッチする要素をすべて取り除きます。

xpath で指定した XPath 文字列にマッチする要素をすべて取り除きます。

@param xpath 取り除く要素を指し示す XPath 文字列

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new('<a><c/><c/><c/><c/></a>')
doc.elements.delete_all("a/c") # => [<c/>, <c/>, <c/>, <c/>]
doc.to_s # => "<a/>"
//}

絞り込み条件を変える

REXML::Elements#to_a(xpath = nil) -> [REXML::Element] (9304.0)

すべての子要素の配列を返します。

すべての子要素の配列を返します。

xpath を指定した場合は、その XPath 文字列に
マッチする要素の配列を返します。

REXML::Elements#each と同様、REXML::XPath.match などと
異なり、要素以外の子ノードは無視されます。

@param xpath XPath文字列

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a>sean<b/>elliott<c/></a>'
doc.root.elements.to_...

REXML::ElementDecl.new(src) -> REXML::ElementDecl (9301.0)

新たな要素宣言オブジェクトを作ります。

新たな要素宣言オブジェクトを作ります。

@param src 要素宣言文字列

REXML::Elements#each(xpath = nil) {|element| ... } -> [REXML::Elements] (9301.0)

全ての子要素に対しブロックを呼び出します。

全ての子要素に対しブロックを呼び出します。

xpath を指定した場合には、その XPath 文字列に
マッチする要素に対しブロックを呼び出します。

REXML::XPath.each などとは異なり、要素以外の
テキストノードなどはすべて無視されることに注意してください。

@param xpath XPath文字列

//emlist[][ruby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a><b/><c/><d/>sean<b/><c/><d/></a>'
# <b/>,...

REXML::Elements#[]=(index, element) (9073.0)

集合に要素 element を追加/更新します。

集合に要素 element を追加/更新します。

index で要素の更新する位置を指定します。
index には整数、文字列が指定できます。
整数を指定した場合は index 番目の要素を変更します(1-originです)。
文字列の場合は XPath としてマッチした要素を更新します。

整数/文字列どちらの場合でも対応する要素が存在しない場合は、
末尾に追加されます。

@param index 要素を更新する位置
@param element 要素(REXML::Elementオブジェクト)

//emlist[][ruby]{
require 'rexml/document'
do...

REXML::Elements (9037.0)

要素の集合を表すクラスです。

要素の集合を表すクラスです。

XPath による探索をサポートします。

REXML::Element#elements はこのオブジェクトを返します。
XPath で相対パスを指定した場合は、この REXML::Element#elements の
レシーバが基準要素となります。

絞り込み条件を変える

REXML::Elements#delete(element) -> Element (9037.0)

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

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

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

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

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

@param element 削除する要素...

REXML::Elements#index(element) -> Integer (9037.0)

element で指定した要素が何番目の子要素であるかを返します。

element で指定した要素が何番目の子要素であるかを返します。

element が子要素でない場合は -1 を返します。

返り値は 1-origin です。

@param element インデックスを知りたい要素(REXML::Element オブジェクト)
@see REXML::Element#[]

REXML::ElementDecl (9001.0)

DTD の要素宣言(Element Declaration)を表すクラスです。

DTD の要素宣言(Element Declaration)を表すクラスです。

REXML::Elements#collect(xpath = nil) {|element| .. } -> [object] (9001.0)

Enumerable#collect と同様、 各子要素に対しブロックを呼び出し、その返り値の配列を返します。

Enumerable#collect と同様、
各子要素に対しブロックを呼び出し、その返り値の配列を返します。

xpath を指定した場合は、その XPath 文字列に
マッチする要素に対し同様の操作をします。

@param xpath XPath文字列
@see REXML::Elements#each

REXML::Elements#empty? -> bool (9001.0)

子要素を持たない場合に true を返します。

子要素を持たない場合に true を返します。

絞り込み条件を変える

REXML::Elements#inject(xpath = nil, initial = nil) {|element| ... } -> object (9001.0)

Enumerable#inject と同様、 各子要素に対し畳み込みをします。

Enumerable#inject と同様、
各子要素に対し畳み込みをします。

xpath を指定した場合は、その XPath 文字列に
マッチする要素に対し同様の操作をします。

@param xpath XPath文字列
@see REXML::Elements#each

REXML::Elements#size -> Integer (9001.0)

保持している要素の個数を返します。

保持している要素の個数を返します。

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a>sean<b/>elliott<b/>russell<b/></a>'
# doc.root は3つの要素と3つのテキストノードを持つため、6を返す
doc.root.size # => 6
# そのうち要素は3つであるため、以下は3を返す
doc.root.elements.size # => 3
//}

REXML::Attributes#delete(attribute) -> REXML::Element (322.0)

指定した属性を取り除きます。

指定した属性を取り除きます。

attribute で取り除く属性を指定します。
文字列もしくは REXML::Attribute オブジェクトを指定します

self が属する要素(REXML::Element)を返します。

@param attribute 取り除く属性(文字列もしくは REXML::Attribute オブジェクト)

//emlist[][ruby]{
require 'rexml/document'

doc = REXML::Document.new(<<-EOS)
<root xmlns:foo="http://example.org/foo"
x...

REXML::Attribute#clone -> REXML::Element (304.0)

self を複製し返します。

self を複製し返します。

REXML::Attribute#element -> REXML::Element (304.0)

その属性が属する要素を返します。

その属性が属する要素を返します。

絞り込み条件を変える

REXML::Document#root -> REXML::Element | nil (304.0)

文書のルート要素を返します。

文書のルート要素を返します。

文書がルート要素を持たない場合は nil を返します。

REXML::Document.new(source = nil, context = {}) -> REXML::Document (73.0)

Document オブジェクトを生成します。

Document オブジェクトを生成します。

source には String、IO、REXML::Document のいずかが
指定できます。 REXML::Document を指定すると
コンテキストと要素、属性が複製されます。
文字列の場合はそれを XML と見なしてパースします。
IOの場合は、XML文書を読み出してパースします。

context で「コンテキスト」を指定します。テキストノードの空白や
特殊文字の取り扱いを Hash で指定します。
以下の Symbol をハッシュのキーとして使います。

: :respect_whitespace
空白を考慮して欲しい要素の名...

REXML::Child#next_sibling=(other) (55.0)

other を self の次の隣接ノードとします。

other を self の次の隣接ノードとします。

つまり、親ノードが持つ子ノード列の self の後ろに
other を挿入します。

@param other 挿入するノード

//emlist[][ruby]{
require 'rexml/document'

a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d

p a.to_s # =>...

REXML::Child#previous_sibling=(other) (55.0)

other を self の前の隣接ノードとします。

other を self の前の隣接ノードとします。

つまり、親ノードが持つ子ノード列の self の前に
other を挿入します。

@param other 挿入するノード

//emlist[][ruby]{
require 'rexml/document'

a = REXML::Element.new("a")
b = a.add_element("b")
c = REXML::Element.new("c")
b.next_sibling = c
d = REXML::Element.new("d")
b.previous_sibling = d

p a.to_s # =>...

REXML::Attribute (49.0)

要素(REXML::Element)の属性を表すクラスです。

要素(REXML::Element)の属性を表すクラスです。

つまり、 <element attribute="value"/> という
要素における attribute=value というペアのことです。

属性にはなんらかの名前空間(namespace, REXML::Namespace)
に属することができます。

絞り込み条件を変える

REXML::Attribute.new(attribute, value, parent = nil) -> REXML::Attribute (37.0)

新たな属性オブジェクトを生成します。

新たな属性オブジェクトを生成します。

2種類の初期化が可能です。
REXML::Attribute オブジェクトを渡した場合は、
属性名とその値がそれから複製されます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は複製元と同じ要素の属するように
設定されます。

また、属性名とその値を文字列で指定することもできます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は nil が設定されます。

通常はこのメソッドは直接は使わず、REXML::Element#add_at...

REXML::Attribute.new(attribute_to_clone, parent = nil) -> REXML::Attribute (37.0)

新たな属性オブジェクトを生成します。

新たな属性オブジェクトを生成します。

2種類の初期化が可能です。
REXML::Attribute オブジェクトを渡した場合は、
属性名とその値がそれから複製されます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は複製元と同じ要素の属するように
設定されます。

また、属性名とその値を文字列で指定することもできます。
parent で新たに作られる属性オブジェクトが属する
要素が指定できます。
parent を省略した場合は nil が設定されます。

通常はこのメソッドは直接は使わず、REXML::Element#add_at...

REXML::Attributes.new(element) -> REXML::Attributes (37.0)

空の Attributes オブジェクトを生成します。

空の Attributes オブジェクトを生成します。

どの要素の属性であるかを element で指定します。

通常は REXML::Element.new によって Attributes オブジェクト
が生成されるため、このメソッドを使う必要はありません。

@param element 属性が属する要素(REXML::Element オブジェクト)

REXML::DocType#context -> { Symbol => object } (37.0)

DTD が属する文書の「コンテキスト」を返します。

DTD が属する文書の「コンテキスト」を返します。

具体的には親ノードである REXML::Document オブジェクトの
REXML::Element#context を返します。

コンテキストの具体的な内容については REXML::Element#context を
参照してください。

REXML::Attribute#element=(element) (19.0)

self が属する要素を変更します。

self が属する要素を変更します。

@param element 変更先の要素(REXML::Element)

絞り込み条件を変える

REXML::Attribute#namespace(arg = nil) -> String | nil (19.0)

属性の名前空間の URI を返します。

属性の名前空間の URI を返します。

URI が定義されていない場合は nil を返します。

@param arg この値を指定すると、その属性の名前空間でなく、arg という名前空間
の URI が返されます。
通常は省略します。

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("el")
e.add_attribute("xmlns:ns", "http://www.example.com/ns")
e.add_attribute("ns:r", "rval")
p e....

REXML::Attribute#prefix -> String (19.0)

属性の名前空間を返します。

属性の名前空間を返します。

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new( "elns:myelement" )
e.add_attribute( "nsa:a", "aval" )
e.add_attribute( "b", "bval" )
p e.attributes.get_attribute( "a" ).prefix # -> "nsa"
p e.attributes.get_attribute( "b" ).prefix # -> "elns"
a = REXML::Attribute...

REXML::Attribute#to_string -> String (19.0)

"name='value'" という形式の文字列を返します。

"name='value'" という形式の文字列を返します。

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("el")
e.add_attribute("ns:r", "rval")
p e.attributes.get_attribute("r").to_string # => "ns:r='rval'"
//}

REXML::Attributes (19.0)

属性の集合を表すクラスです。

属性の集合を表すクラスです。

REXML::Element#attributes はこのクラスのオブジェクトを返します。
各属性には REXML::Attributes#[] でアクセスします。

REXML::Document (19.0)

XMLの完全な文書(ドキュメント)を表すクラス。

XMLの完全な文書(ドキュメント)を表すクラス。

XML処理命令(Processing Instruction, PI)、
DTD(文書型定義、Document Type Definition)、
などを含んでいます。
ドキュメントは直下の子ノードをただ一つ持っています(rootと呼び、
REXML::Document#root でアクセスできます)。
2つ目の要素を(REXML::Element#add_elementなどで)追加しようとすると
例外(RuntimeError)が発生します。

絞り込み条件を変える

REXML::Namespace (19.0)

XML 名前空間によって管理される「名前」を持つようなノードを 表すモジュール。

XML 名前空間によって管理される「名前」を持つようなノードを
表すモジュール。

要素(REXML::Element)、属性(REXML::Attribute)
に include されます。

REXML::Text#value=(val) (19.0)

テキストの内容を val に変更します。

テキストの内容を val に変更します。

val には非正規化された(エスケープされていない)文字列を渡さなければ
なりません。

//emlist[][ruby]{
require 'rexml/document'
e = REXML::Element.new("a")
e.add_text("foo")
e[0].value = "bar"
e.to_s # => "<a>bar</a>"
e[0].value = "<a>"
e.to_s # => "<a>&lt;a&gt;</a>"
//}

REXML::XPath.each(element, path = nil, namespaces = {}, variables = {}) {|e| ... } -> () (19.0)

element の path で指定した XPath 文字列にマッチする各ノード に対してブロックを呼び出します。

element の path で指定した XPath 文字列にマッチする各ノード
に対してブロックを呼び出します。

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。

namespace で名前空間の対応付けを Hash で指定します。

variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを...

REXML::XPath.first(element, path = nil, namespaces = {}, variables = {}) -> Node | nil (19.0)

element の path で指定した XPath 文字列にマッチする最初のノードを 返します。

element の path で指定した XPath 文字列にマッチする最初のノードを
返します。

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。

namespace で名前空間の対応付けを指定します。

variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを付加するため、に用います。

...

REXML::XPath.match(element, path = nil, namespaces = {}, variables = {}) -> [Node] (19.0)

element の path で指定した XPath 文字列にマッチするノードの配列を 返します。

element の path で指定した XPath 文字列にマッチするノードの配列を
返します。

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルート要素からの
位置でマッチするノードを探します。
path を省略すると "*" を指定したことになります。

namespace で名前空間の対応付けを Hash で指定します。

variable で XPath 内の変数に対応する値を指定できます。
XPathインジェクション攻撃を避けるため、適切な
エスケープを付加するため、に...

絞り込み条件を変える