Code Archive Skip to content Google About Google Privacy Terms
Excellent XPath Expressions nanto_vi (TOYAMA Nao), 2010-06-05, 2010-09-26 追補 XPath で何ができるか 文書中のノードの選択 文書: XML 文書、HTML 文書 ノード: 文書ノード (ルートノード)、要素ノード、属性ノード、テキストノード、コメントノード、etc. cf. CSS セレクタ: 要素の選択 文書を元にした文字列、数値、真偽値の生成 図 1 に HTML 文書が生成する文書木 (文書ツリー) の例を挙げます。図中、二重線で囲んだのが文書ノード、角丸四角が要素ノード、長方形がテキストノードを表します。 文書木の根 (最上部) は文書要素ノード (ルート要素ノード、HTML 文書なら html 要素ノード) ではなく、文書ノードであることに注意してください。JavaScript から DOM や XP
結論特定のclass属性を持った任意の要素にマッチするXPath(hogeは指定したいclass属性名) //*[contains(concat(" ",normalize-space(@class)," "), " hoge ")] 特定の要素にしたい場合は適当に div[contains(concat(" ",normalize-space(@class)," "), " hoge ")] などとする. 概要特定のclass属性を持った任意の要素にマッチするXPathというのはアドオンやUserJavaScript,スクレイピングの際にDOMノードを特定するために良く使いますが,XPathの書き方がマズイ人がたまにいます.普通に考えたらXPathはこうなります. XPath1:: //*[@class="hoge"] class属性は以下の引用部分に書かれているとおり,スタイルシート以
よく、以下のように XPath に文字列を埋め込む事があります document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); まあ、僕もよくこんなコード書くんですけど。 でも、これって text が外部から来るものだったら、意図通りの動作をしないんですよね たとえば、以下のような例です。 var text = '"] | /hoge/fuga/piyo | .["'; document.evaluate('//*[@class="' + text + '"]', document, null, 7, null); というわけで 任意の文字列を XPath の式に変換する JavaScript を書いてみた 以下で試せます http://amachang.sakura.ne.jp/misc/xpath_es
この記事の概要 本記事はXML言語の一つ「XPath1.0」の仕様に関する概略である。主に軸方向(Axis)と関数の定義をXPath仕様書の邦訳から要約、加筆した。 本記事はXML及びXPathについて一定の理解のある者を対象としており、初めてXPathを学習する方は別の解説記事を参照されたい。 XPathの概要 XPath は、XML ドキュメントの一部をアドレッシングするための言語であり、XSLT および XPointer で使用するように設計されている。 XPathは、マーク付け言語において要素を特定する手段の一つである。アドレス形式で記述し、基本的な記法は軸方向::名前空間:ノードテスト[述語]/~~となる。これをロケーションパスと言い、"/"で区切られた一つの記述をロケーションステップと呼ぶ。 ロケーションパスは、"/"で始まるものを絶対パス、始まらないものを相対パスとして展開す
コピペメモ 今までの $X は evaluate を二回する問題があってダサいので、使い勝手をそのままにしつつ新しくして使いはじめました。 type 指定を導入 ECMAScript 側で受けとりたい型を指定する。 (Array, String...) XPathResult.BOOLEAN_TYPE とか指定するのはめんどいし覚えられない。 type 指定なしの場合は UNORDERED_NODE_ITERATOR_TYPE をそのまま Array に変換してかえす たぶんこれでも殆どの場合は問題ないと思う ノード集合じゃない (number とか) ならそれぞれそのままかえす (いままでとおなじ) type 指定で Array を指定した場合は ORDERED_NODE_SNAPSHOT_TYPE を Array に変換してかえす UNORDERED なやつで特別問題がある場合つかう
Warning! 2008/5/22追記:このエントリは情報が不十分だったり間違いが含まれてたりするので、下記URLのページを参考にするようにしてください↓ http://piro.sakura.ne.jp/latest/blosxom/mozilla/xul/2007-09-13_selector-to-xpath.htm CSS3あたりをXPath1.0あたりに変換する表 CSSXPath .class//*[@class="class"]*1 .class//*[contains(concat(" ",@class," ")," class ")]*2 tag//tag #id//*[@id="id"] tag.class#id//tag[@class="class"][@id="id"] .class.class2//*[contains(concat(" ",@class," "
Latest topics > CSS3セレクタとXPathでの表現の対応表 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « getElementsByなんちゃら の代わりにXPathを使う Main Mozilla 24 » CSS3セレクタとXPathでの表現の対応表 - Sep 13, 2007 拡張機能勉強会の時に焚き付けられた、Text Shadowのコード(textshadow.js)を教材にして拡張機能開発のノウハウを解説していくシリーズ。 XPathをノードの検索に活用する方法を紹介したけど、肝心のXPathが書けなきゃ意味がないわけで。でもXPathって、ノードセットがどうとかノードテストがどうとか軸がどうとか修飾がどうとか、い
const xpathResult = document.evaluate( xpathExpression, contextNode, namespaceResolver, resultType, result, ); The evaluate() method takes a total of five parameters: xpathExpression: A string containing the XPath expression to be evaluated. contextNode: A node in the document against which the xpathExpression should be evaluated, including any and all of its child nodes. The document node is the
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く