Greasemonkey: XPath не возвращает результатов для страницы .xhtml

StackOverflow https://stackoverflow.com/questions/454143

Вопрос

При запуске на странице xhtml xpath, похоже, не возвращает никаких результатов.

var result = document.evaluate( "//a/img", document.body, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );

Например, возвращает пустой набор результатов. В чем здесь проблема, и как я могу это исправить?

Это было полезно?

Решение

Другие советы

Хорошо, с этим решением, но теперь я использую предшествующего брата в выражении xpathExpression, я пытаюсь с этим:

function nsResolver(prefix){
    var ns = {
        'mathml' : 'http://www.w3.org/1998/Math/MathML', // for example's sake only
        'h' : 'http://www.w3.org/1999/xhtml'
    };
    return ns[prefix];
}

а затем:

document.evaluate('//h:' + node.tagName + '/preceding-sibling::' + node.tagName, node, nsResolver, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotLength

которые всегда возвращают 0 с помощью xhtml.

scroll top