XHRで取ってきた文字列としてのHTMLに対して、XPath使ってデータを取るのがなんとかできた。 Firefox以外では動かないと思うけど、今回はGreasemonkey用なので気にしない。 document.implementation.createDocumentを使ってDocumentをつくる RangeのcreateContextualFragmentを使ってDocumentFragmentをつくる 最初に作ったDocumentにDocumentFragmentを付ける そのDocumentに対してXPathを使う まだ雑だけど、そのへんのコードはこんな感じ。 function load(data) { var v = data.responseText.replace(/<html.*?>/, '') v = v.replace(/<\/html>/, '') var ns =