javascript - XML Javascript解析问题(具体代码问题)

标签 javascript jquery xml xml-parsing

我正在使用以下解析器来解析 xml

function parseXML(text) {
    var doc;

    if(window.DOMParser) {
        var parser = new DOMParser();
        doc = parser.parseFromString(text, "text/xml");
    }
    else if(window.ActiveXObject) {
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async = "false";
        doc.loadXML(text);
    }
    else {
        throw new Error("Cannot parse XML");
    }

    return doc;
}

我不明白为什么它不能处理通过 AJAX 获取的 XML 文档。

通过 AJAX 请求的结果:

X-Powered-By    PHP/5.2.11
Content-Length  887
Keep-Alive  timeout=5, max=95
Connection  Keep-Alive
Content-Type    text/xml

<?xml version="1.0" encoding="UTF-8"?>
<xml_test>wont work!</xml_test>

测试代码:

    var xml = parseXML(data);
    $(xml).find("xml_test").each(function()
    {
        console.info('found xml_test... never happen..');
    });

但是如果我像这样使用它,效果会很好!

    var data = '<xml_test>works</xml_test>';
    var xml = parseXML(data);
    $(xml).find("xml_test").each(function()
    {
        alert('this works!');
    });

我知道这是一个具体问题,但我非常感谢您的帮助和/或建议......

提前致谢 佩德罗

最佳答案

如果您使用 jQuery 请求资源,您应该已经获得 XML DOM 文档,以防它以 text/xml mime 类型提供。因此不需要解析。

关于javascript - XML Javascript解析问题(具体代码问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3830962/

相关文章:

javascript - RequireJS 是否异步加载文件?

javascript - $setValidity 函数未按预期工作

JavaScript 不替换所有元素

sql - 从oracle中的重复节点中提取特定的xml节点

javascript - 使用 Javascript 处理 XML 响应

javascript - JQuery 到普通 JavaScript 的翻译不起作用

javascript - drupal 8 在#AJAX 事件后调用 JavaScript 函数

javascript - 单击时样式切换器跳转到页面顶部

jquery - 如何摆脱 emberjs 中的 SourceMapConcat 构建错误?

c# - 使用 C# XML Serializer 生成自定义 XML 格式