種類
- インスタンスメソッド (19)
- クラス (5)
- 特異メソッド (3)
- モジュール (1)
クラス
-
REXML
:: Attribute (1) -
REXML
:: Element (8) -
REXML
:: Elements (8) -
REXML
:: Parent (2) -
REXML
:: XPath (3)
キーワード
- Default (1)
- Elements (1)
- Functions (1)
- Transitive (1)
- XPath (1)
- XPathParser (1)
- [] (1)
- []= (1)
- collect (1)
- delete (1)
-
delete
_ all (1) -
delete
_ element (1) - each (2)
-
each
_ element (1) -
each
_ element _ with _ attribute (1) -
each
_ element _ with _ text (1) - first (1)
-
get
_ elements (1) -
get
_ text (1) - inject (1)
-
insert
_ after (1) -
insert
_ before (1) - match (1)
- text (1)
-
to
_ a (1)
検索結果
先頭5件
-
REXML
:: Element # xpath -> String (63391.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> .. <... -
REXML
:: Attribute # xpath -> String (63355.0) -
その属性を指定する xpath 文字列を返します。
その属性を指定する xpath 文字列を返します。
例えば "/foo/bar/@ns:r" という文字列を返します。 -
REXML
:: Parsers :: XPathParser (36052.0) -
XPath 文字列をパースするための内部的なクラスです。
XPath 文字列をパースするための内部的なクラスです。
ユーザは利用しないでください。 -
REXML
:: Element # delete _ element(element) -> REXML :: Element (28222.0) -
子要素を削除します。
...子要素を削除します。
element で削除する要素を指定できます。整数、文字列、REXML::Element
オブジェクトのいずれかが指定できます。
REXML::Element を指定すると、その要素が削除されます。
整数を指定すると、element 番目の......素がマッチする場合はそのうち1つが削除されます。
@param element 削除する要素
@see REXML::Elements#delete
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b/><c/><c id="1"/><d/><c/></a>'
doc.delete_element("/a/b")
doc.to_s # => "<a><c/><c id='1'/... -
REXML
:: Parent # insert _ after(child1 , child2) -> self (27640.0) -
child2 を child1 で指定したノードの後ろに挿入します。
...ドの後ろに挿入します。
child1 が REXML::Child のインスタンスであるならば、その
子ノードの後ろに挿入されます。
child1 が 文字列であるならば、XPath で場所を指定します。
具体的には REXML::XPath.first(self, child1) で特定される... -
REXML
:: Element # each _ element _ with _ text(text = nil , max = 0 , name = nil) {|element| . . . } -> () (27502.0) -
テキストを子ノードとして 持つすべての子要素を引数としてブロックを呼び出します。
...字列)
@param max ブロック呼出の対象とする子要素の最大個数
@param name xpath文字列
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b>b</b><c>b</c><d>d</d><e/></a>'
doc.root.each_element_with_text {|e|p e}
# >> <b> ... </>
# >> <c> ... </>
# >> <d> .... -
REXML
:: XPath . each(element , path = nil , namespaces = {} , variables = {}) {|e| . . . } -> () (27463.0) -
element の path で指定した XPath 文字列にマッチする各ノード に対してブロックを呼び出します。
...め、に用います。
@param element 要素(REXML::Element)
@param path XPath文字列
@param namespace 名前空間とURLの対応付け
@param variables 変数名とその値の対応付け
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:x='1'>
<a>......<b>b1</b>
<x:c />
<b>b2</b>
<d />
</a>
<b> b3 </b>
</root>
EOS
REXML::XPath.each(doc, "/root/a/b"){|e| p e.text }
# >> "b1"
# >> "b2"
//}... -
REXML
:: Element # get _ text(path = nil) -> REXML :: Text | nil (27340.0) -
先頭のテキスト子ノードを返します。
...ます。
REXML::Text#value も参照してください。
path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。
テキストノードがない場合には nil を返します。
@param path XPath文字列
@see REXML::Element#tex......t
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
# doc.root (<p> ... </p>) は2つのテキストノード("some text " と " more text"
# を持っているが、前者を返す
doc.root.get_text.value # => "some text "
//}... -
REXML
:: Element # text(path = nil) -> String | nil (27340.0) -
先頭のテキスト子ノードの文字列を返します。
...ます。
REXML::Text#value も参照してください。
path を渡した場合は、その XPath 文字列で指定される
テキストノードの文字列を返します。
テキストノードがない場合には nil を返します。
@param path XPath文字列
@see REXML::Element#get......_text
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new "<p>some text <b>this is bold!</b> more text</p>"
# doc.root (<p> ... </p>) は2つのテキストノード("some text " と " more text"
# を持っているが、前者を返す
doc.root.text # => "some text "
//}... -
REXML
:: XPath (27052.0) -
XPath を取り扱うためのクラスです。
XPath を取り扱うためのクラスです。
インスタンスは使わずにクラスメソッドのみを使います。 -
REXML
:: Elements # delete _ all(xpath) -> [REXML :: Element] (19039.0) -
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 # =>... -
REXML
:: Elements # collect(xpath = nil) {|element| . . } -> [object] (18979.0) -
Enumerable#collect と同様、 各子要素に対しブロックを呼び出し、その返り値の配列を返します。
...merable#collect と同様、
各子要素に対しブロックを呼び出し、その返り値の配列を返します。
xpath を指定した場合は、その XPath 文字列に
マッチする要素に対し同様の操作をします。
@param xpath XPath文字列
@see REXML::Elements#each... -
REXML
:: Elements # inject(xpath = nil , initial = nil) {|element| . . . } -> object (18979.0) -
Enumerable#inject と同様、 各子要素に対し畳み込みをします。
...Enumerable#inject と同様、
各子要素に対し畳み込みをします。
xpath を指定した場合は、その XPath 文字列に
マッチする要素に対し同様の操作をします。
@param xpath XPath文字列
@see REXML::Elements#each... -
REXML
:: Elements # delete(element) -> Element (18958.0) -
element で指定した子要素を取り除きます。
...element で指定した子要素を取り除きます。
element には、REXML::Element、整数、文字列が指定できます。
Element オブジェクトを指定した場合は、その子要素を取り除きます。
整数を指定した場合には element 番目の子要素を削除し......はない要素も取り除けることに注意してください。
@param element 削除する要素(REXML::Element, 整数, 文字列)
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b/><c/><c id="1"/></a>'
b = doc.root.elements[1]
doc.root.elements.delete b... -
REXML
:: Elements # each(xpath = nil) {|element| . . . } -> [REXML :: Elements] (18841.0) -
全ての子要素に対しブロックを呼び出します。
...呼び出します。
REXML::XPath.each などとは異なり、要素以外の
テキストノードなどはすべて無視されることに注意してください。
@param xpath XPath文字列
//emlist[][ruby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a><b/......ments.each('b') {|e|p e} #-> Yields b, b elements
# <b/>,<c/>,<d/>,<b/>,<c/>,<d/> がブロックに渡される
doc.root.elements.each('child::node()') {|e|p e}
# <b/>,<c/>,<d/>,"sean",<b/>,<c/>,<d/> がブロックに渡される
REXML::XPath.each(doc.root, 'child::node()'){|node| p node }
//}... -
REXML
:: Element # get _ elements(xpath) -> [REXML :: Element] (18727.0) -
xpath にマッチする要素を配列で返します。
...xpath にマッチする要素を配列で返します。
xpath には XPath 文字列を指定します。
@param xpath XPath 文字列
@see REXML::Elements#to_a... -
REXML
:: Element # each _ element(xpath = nil) {|element| . . . } -> () (18661.0) -
各子要素を引数としてブロックを呼び出します。
各子要素を引数としてブロックを呼び出します。
xpath に文字列を指定するとそれにマッチする子要素のみを対象とします。
@param xpath XPath 文字列 -
REXML
:: XPath . first(element , path = nil , namespaces = {} , variables = {}) -> Node | nil (18514.0) -
element の path で指定した XPath 文字列にマッチする最初のノードを 返します。
...nil を返します。
@param element 要素(REXML::Element)
@param path XPath文字列
@param namespace 名前空間とURLの対応付け
@param variables 変数名とその値の対応付け
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:x='1'>
<a>......ents[1] # => <a> ... </>
b1 = REXML::XPath.first(a, "b")
b1.text # => "b1"
REXML::XPath.first(doc, "/root/a/x:c") # => <x:c/>
REXML::XPath.first(a, "x:c") # => <x:c/>
REXML::XPath.first(a, "y:c") # => nil
REXML::XPath.first(a, "y:c", {"y" => "1"}) # => <x:c/>
b2 = REXML::XPath.first(doc, "/root/a/b... -
REXML
:: Element # each _ element _ with _ attribute(key , value = nil , max = 0 , name = nil) {|element| . . . } -> () (18502.0) -
特定の属性を持つすべての子要素を引数としてブロックを呼び出します。
...字列)
@param max ブロック呼出の対象とする子要素の最大個数
@param name xpath文字列
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new("<a><b id='1'/><c id='2'/><d id='1'/><e/></a>")
doc.root.each_element_with_attribute('id'){|e| p e }
# >> <b id='1'/>
# >>... -
REXML
:: XPath . match(element , path = nil , namespaces = {} , variables = {}) -> [Node] (18424.0) -
element の path で指定した XPath 文字列にマッチするノードの配列を 返します。
...め、に用います。
@param element 要素(REXML::Element)
@param path XPath文字列
@param namespace 名前空間とURLの対応付け
@param variables 変数名とその値の対応付け
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new(<<EOS)
<root xmlns:x='1'>
<a>......<b>b1</b>
<x:c />
<b>b2</b>
<d />
</a>
<b> b3 </b>
</root>
EOS
REXML::XPath.match(doc, "/root/a/b") # => [<b> ... </>, <b> ... </>]
//}... -
REXML
:: Parent # insert _ before(child1 , child2) -> self (18340.0) -
child2 を child1 で指定したノードの前に挿入します。
...ノードの前に挿入します。
child1 が REXML::Child のインスタンスであるならば、その
子ノードの前に挿入されます。
child1 が 文字列であるならば、XPath で場所を指定します。
具体的には REXML::XPath.first(self, child1) で特定される... -
REXML
:: Elements (18040.0) -
要素の集合を表すクラスです。
...要素の集合を表すクラスです。
XPath による探索をサポートします。
REXML::Element#elements はこのオブジェクトを返します。
XPath で相対パスを指定した場合は、この REXML::Element#elements の
レシーバが基準要素となります。... -
REXML
:: Formatters :: Default (18022.0) -
XMLドキュメントを(文字列として)出力するクラスです。
...列として)出力するクラスです。
REXML::Formatters::Pretty と
異なりテキストの改行や空白を修正せずにそのまま出力します。
//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/default'
doc = REXML::Document.new <<EOS
<root>
<children>
<grand......ren>
</root>
EOS
default_formatter = REXML::Formatters::Default.new
output = StringIO.new
default_formatter.write(doc, output)
output.string
# => "<root>\n<children>\n <grandchildren/>\n</children>\n</root>\n"
output = StringIO.new
default_formatter.write(REXML::XPath.first(doc, "/root/children")......, output)
output.string
# => "<children>\n <grandchildren/>\n</children>"
ie_hack_formatter = REXML::Formatters::Default.new(true)
output = StringIO.new
ie_hack_formatter.write(doc, output)
output.string
# => "<root>\n<children>\n <grandchildren />\n</children>\n</root>\n"
//}... -
REXML
:: Formatters :: Transitive (18022.0) -
XMLドキュメントをテキストの内容を変えずに 多少の整形を加えて出力するクラスです。
...結果になるでしょう。
//emlist[][ruby]{
require 'rexml/document'
require 'rexml/formatters/transitive'
doc = REXML::Document.new <<EOS
<root><children>
<grandchildren foo='bar' />
</children></root>
EOS
transitive_formatter = REXML::Formatters::Transitive.new
output = StringIO.new
transit......>> <root
# >> ><children
# >> >
# >> <grandchildren foo='bar'
# >> />
# >> </children
# >> ></root
# >> >
output = StringIO.new
transitive_formatter.write(REXML::XPath.first(doc, "/root/children"), output)
output.string
# => "<children\n>\n<grandchildren foo='bar'\n />\n</children\n>"
//}... -
REXML
:: Elements # to _ a(xpath = nil) -> [REXML :: Element] (9733.0) -
すべての子要素の配列を返します。
...要素の配列を返します。
REXML::Elements#each と同様、REXML::XPath.match などと
異なり、要素以外の子ノードは無視されます。
@param xpath XPath文字列
//emlist[][ruby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a>sean<b/>elliot......t<c/></a>'
doc.root.elements.to_a # => [<b/>, <c/>]
doc.root.elements.to_a("child::node()") # => [<b/>, <c/>]
REXML::XPath.match(doc.root, "child::node()") # => ["sean", <b/>, "elliott", <c/>]
//}... -
REXML
:: Elements # [](index , name = nil) -> REXML :: Element | nil (9712.0) -
index が指し示している要素を返します。
...(文字列)
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a><b/><c id="1"/><c id="2"/><d/></a>'
doc.root.elements[1] # => <b/>
doc.root.elements['c'] # => <c id='1'/>
doc.root.elements[2,'c'] # => <c id='2'/>
doc = REXML::Document.new '<a><b><c /><a id="1"/></b... -
REXML
:: Elements # []=(index , element) (9322.0) -
集合に要素 element を追加/更新します。
...@param element 要素(REXML::Elementオブジェクト)
//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document.new '<a/>'
doc.root.elements[10] = REXML::Element.new('b')
doc.root.to_s # => "<a><b/></a>"
doc.root.elements[1] # => <b/>
doc.root.elements[1] = REXML::Element.new('c')
doc.roo......t.to_s # => "<a><c/></a>"
doc.root.elements['c'] = REXML::Element.new('d')
doc.root.to_s # => "<a><d/></a>"
//}... -
REXML
:: Functions (9022.0) -
内部用なのでユーザは使わないでください。
内部用なのでユーザは使わないでください。
xpath のパースに使う関数を保持するモジュールです。