0

我正在通过 Ajax 加载一些 XML。

这是脚本的一个片段:

ajaxRequest.onreadystatechange = function()
    {
        if(ajaxRequest.readyState == 4)
        {
            document.getElementById('loading').innerHTML = 'done';
            google_xml = ajaxRequest.responseXML;
            document.getElementById('xml').innerHTML = 'XML: '+google_xml.toXMLString();
        }
    }

我正在加载的页面是一个 XML 文件,文件加载是因为如果我 alert(ajaxRequest.responseText); 我看到了。但我不确定如何将其作为 XML 处理,我认为上面的脚本会将 XML 作为字符串放入 < div id="xml" >< /div > 元素中,但事实并非如此。

我在 Actionscript 中使用 E4X 处理 XML 很多,但在 JS 中从未使用过,有人可以给我提示吗?谢谢!

4

3 回答 3

3

我不确定您使用的是什么浏览器,但Firefox 是目前唯一支持 E4X 的浏览器

但是,要扩展此答案,您可能需要了解替代方法:

在浏览器中解析 XML 有很多支持,只是不支持 E4X。您可能想要使用 jQuery 并使用 dataType:XML。请参阅 xml.com/pub/a/

于 2009-05-22T14:56:56.637 回答
1

对于那些追随同样问题的人:

var x = new XML('<xml>字符串值</xml>');

...现在您的 x 值是一个 xml 对象,您可以使用 E4X 进行操作!

于 2009-12-12T02:50:01.193 回答
0

只需在请求完成后使用 xhr.responseXML,它已经是一个支持 DOM 的 XML 对象。如果浏览器支持 XmlHttpRequest 对象,这应该可以直接工作。此外,IIRC,您可以使用 jQuery 来包装对象并使用它自己的 find/each 方法来遍历对象。

于 2009-05-23T02:08:16.883 回答