るりまサーチ

最速Rubyリファレンスマニュアル検索!
192件ヒット [1-100件を表示] (0.013秒)
トップページ > クエリ:root[x] > クエリ:xpath[x]

別のキーワード

  1. pstore root?
  2. document root
  3. psych root
  4. pathname root?
  5. rexml/document root

ライブラリ

クラス

キーワード

検索結果

<< 1 2 > >>

REXML::Element#xpath -> String (18141.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::XPath.first(element, path = nil, namespaces = {}, variables = {}) -> Node | nil (3100.0)

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

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

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

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

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

REXML::XPath.each(element, path = nil, namespaces = {}, variables = {}) {|e| ... } -> () (3058.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] (3058.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#each(xpath = nil) {|element| ... } -> [REXML::Elements] (167.0)

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

...

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

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

@param xpath XPath...
...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.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::Elements#to_a(xpath = nil) -> [REXML::Element] (161.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 (72.0)

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

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

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

整数で指定した場合でも、XPathで指定した場合でも、
指定した要素が存在しない場合は nil を返します。

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

//em...
.../><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></a>'
doc.root.elements["a"] # => nil
doc.root.elements["b/a"] # => <a id='1'/>
doc.root.elements["/a"]...

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

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

...)。
文字列を指定した場合は、削除する要素を XPath で指定します。
XPath
が複数の要素を指している場合は、そのうち一つを削除します。

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

XPath
で指定した場合、子要素ではない要素も取り除...
...c.root.elements[1]
doc.root.elements.delete b # => <b/>
doc.root.to_s # => "<a><c/><c id='1'/></a>"
doc.elements.delete("a/c[@id='1']") # => <c id='1'/>
doc.root.to_s # => "<a><c/></a>"
doc.root.elements.delete 1 # => <c/>
doc.root.t...
...o_s # => "<a/>"
doc.root.elements.delete '/a'
doc.root.to_s # => ""
//}...

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

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

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

整数/文字列どちらの場合でも対応する要素が存在しない場合は、
末尾...
...ML::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.root.to_s # => "<a><c/></a>"
doc.root.elements['c'] = REXML::Element.new('d')
doc.root.to_s # => "<a><d/></a>"
//...
<< 1 2 > >>