るりまサーチ

最速Rubyリファレンスマニュアル検索!
223件ヒット [1-100件を表示] (0.019秒)

別のキーワード

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

ライブラリ

クラス

キーワード

検索結果

<< 1 2 3 > >>

REXML::Element#xpath -> String (18147.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/> 要素
b # => <b/>
b.xpath # => "/a/b[2]"
//}...

rexml/document (6024.0)

DOM スタイルの XML パーサ。

...REXML::Document.new で XML 文書から DOM ツリーを
構築し、ツリーのノードの各メソッドで文書の内容にアクセスします。

以下のプログラムではブックマークの XML からデータを取り出します。

//emlist[][ruby]{
require 'rexml/document'
requ...
...ire 'pp'

Bookmark = Struct.new(:href, :title, :desc)

doc = REXML::Document.new(<<XML)
<?xml version="1.0" encoding="UTF-8" ?>
<xbel version="1.0">
<bookmark href="http://www.ruby-lang.org/ja/">
<title>オブジェクト指向スクリプト言語 Ruby</title>
<desc>Rubyの公式サイト...
...title>rurema/bitclust · GitHub</title>
</bookmark>
<bookmark href="https://rubygems.org/gems/bitclust-core" />
</xbel>
XML

bookmarks = REXML::XPath.match(doc, "/xbel/bookmark").map do |bookmark|
href = bookmark.attribute("href").value
title_element = bookmark.elements["title"]
title = t...

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

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

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

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

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

variable で XPath 内の変数に対応する値を指定できます。
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...

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

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

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

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が...
...定します。

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

@param element 要素(REXML::Element)
@param path XPath文字列
@param namespace...
...変数名とその値の対応付け

//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::XPath.match(element, path = nil, namespaces = {}, variables = {}) -> [Node] (3052.0)

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

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

path に相対パスを指定した場合は element からの相対位置で
マッチするノードを探します。
絶対パスを指定した場合は element が属する文書のルー...
...定します。

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

@param element 要素(REXML::Element)
@param path XPath文字列
@param namespace...
...s 変数名とその値の対応付け

//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::Elements#delete_all(xpath) -> [REXML::Element] (157.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/>, <...

REXML::Elements#each(xpath = nil) {|element| ... } -> [REXML::Elements] (155.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/>,<c/>,<d/>,<b/>,<c/>, <d/> がブロックに渡される
doc.root.elements.each {|e|p e}
# <b/>, <b/> がブロックに渡される
doc.root.elements.ea...
...ch('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::Elements#to_a(xpath = nil) -> [REXML::Element] (155.0)

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

...列を返します。

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

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

@param xpath XPath文字列

//emlist[][r...
...uby]{
require 'rexml/document'
require 'rexml/xpath'
doc = REXML::Document.new '<a>sean<b/>elliott<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 (54.0)

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

...
これは XPath の仕様に合わせています。

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

@param index 取り出したい要素の index (整数)もしくは xpath (文字列)
@param name 子要素の名前(文字列)

//emlist[][ruby]{
require 'rexml/document'
doc = REXML::Document....
...></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></a>'
doc.root.elements["a"] # => nil
doc.root.elements["b/a"] # => <a id='1'/>
doc.root.elements["/a"] #...
<< 1 2 3 > >>