xml - android中的xpath评估错误

标签 xml android xpath

我在 android 浏览器中运行一个包含以下代码的应用程序..

if (typeof XPathResult != "undefined") {
    //use build in xpath support for Safari 3.0
    var xmlDocument = doc;
    if (doc.nodeType != 9) {
        xmlDocument = doc.ownerDocument;
    }
    results = xmlDocument.evaluate( xpathExpr,
                                    doc,
                                    function(prefix) {
                                        return namespaces[prefix] || null;
                                    },
                                    XPathResult.ANY_TYPE,
                                    null );
    var thisResult;
    result = [];
    var len = 0;
    do {
        thisResult = results.iterateNext();
        if (thisResult) {
            result[len] = thisResult;
            len++;
        }
    } while ( thisResult );
}
else {
    try {
        if (doc.selectNodes) {
            result = doc.selectNodes(xpathExpr);
        }
    } catch (ex) {}
}
return result;

但是当我在 Firefox 控件中运行这个应用程序时,输入 if 语句并且一切正常..

但在安卓浏览器中它给出了错误... XPathResult 未定义... 这次控制来到 else 语句,即使在这里它也显示 selectNodes 是未定义的。所以结果为空,而在 Firefox 中它给出了节点列表..

真的需要完成……需要帮助……

谢谢...

最佳答案

Android 浏览器不支持 XPath。 This Android issue声明它缺少 XmlDocuments,尽管 document.evaluate 对我来说也失败了(只是为了测试,我对 XmlDocuments 感兴趣)

但是 Dan 在 7 月 19 日发表的评论说它正在开发 3.0 Where is XPathEvaluator in android web browser?

不幸的是,3.x 仅适用于平板电脑,因此我们将不得不等待很长时间,直到 IceCream 发布并可用于手机。

这是浏览器所在的另一种情况,如this message所述(没有回复)浏览器声称实现了 XPath 3.0 但事实是它不可用,所以返回 true 是一个谎言。

关于xml - android中的xpath评估错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2688332/

相关文章:

python - 在python中解析XML文件并将其显示在HTML页面中

android - AsyncTaskLoader vs AsyncTask 用于在编辑单个实体 Activity 中加载单个实体?

xpath - wso2 ESB中的字符串填充是否有任何XPath表达式?

java - 使用 Java、JDom、XPath 修改 XML 文件(命名空间)

java 需要帮助从 CSV 替换 XML 标签内容

java - 当 Java 类具有 java.util.Properties 时如何进行 JAXB 转换?

java - 防止代码抛出 XML 异常

android - 如何在 Android 中播放音频时显示 MediaController?

java - 在 Java 中访问包私有(private)字段

php - 创建具有多个属性的节点