jquery获取请求返回文档而不是XML

时间:2011-09-13 05:49:08

标签: javascript jquery

我有一些代码,我在jquery中调用$(“document).ready(),试图打开一个xml文件并解析它。

$.get('cal.xml', function(data){
    alert(data);
var xmlDoc = $.parseXML(data);
var $xml = $(xmlDoc);
});

弹出的警报是“[object Document]”而不是xml的实际文本,然后抛出$ .parseXML(data)的问题 “Uncaught Invalid XML:undefined”(暗示数据未定义)。

这是XML文件

<?xml version="1.0"?>
<cal>
    <today>
        <event>
            <time>
                6:30pm EST
            </time>
            <title>
                nothing
            </title>
        </event>
    </today>
</cal>

有人可以帮我简单地读入这个XML文件并将其设置为解析吗?

3 个答案:

答案 0 :(得分:3)

尝试将dataType选项设置为xml:

$.get('cal.xml', function(data){
    alert(data);
}, 'xml');

“data”应该在这一点解析xml。

答案 1 :(得分:0)

这是小提琴希望它会帮助http://jsfiddle.net/ah2Y8/1/

OR

http://jsfiddle.net/ah2Y8/2/

答案 2 :(得分:0)

将字符串转换为XML对象的代码

function str2XML (str) {
       var xml;
       if (window.ActiveXObject) {
           xml = new ActiveXObject("Microsoft.XMLDOM");
           xml.async = "false";
           xml.loadXML(str);
       } else {
           var parser = new DOMParser();
           xml = parser.parseFromString(str, "text/xml");
       }
       return xml;
}