使用Jquery为IE7 +和Mozilla进行XML解析

时间:2012-04-12 12:33:28

标签: javascript jquery xml internet-explorer jquery-xml

我一直在开发一个Web应用程序,我需要在jquery中解析我的xml。我正在构建我的Web应用程序以使用IE7到IE10和mozilla。我想迭代到我的xml所以我写下面的代码。

<script type='text/javascript' src="jquery/jquery-1.7.1.min.js"></script>

    <script type="text/javascript" language="javascript">
        var xml = '<root><cell id="1"> </cell><cell id="2"> </cell></root>';       
        //works in ie7
        $(xml).filter("cell").each(function () {
            alert('ie'+$(this).attr('id'));
        });
       //works in mozilla
        $(xml).find('cell').each(function () {
            alert('mozilla'+$(this).attr('id'));
        });
    </script>

但我发现我需要编写不同的循环机制来从xml中获取不同的浏览器。这有点奇怪,因为我使用Jquery所以它应该是所有浏览器兼容的。

那么有没有更好的方法从xml读取,这将适用于所有浏览器,以便我不必编写浏览器检查代码?

1 个答案:

答案 0 :(得分:1)

不要使用jQuery的主$()函数来解析XML。它试图使用HTML元素的内置innerHTML属性将XML解析为HTML,该属性不能正常工作,但足以让人们陷入虚假的安全感。请改用parseXML()

var xmlDoc = $.parseXML(xml);

$(xmlDoc).find("cell").each(function () {
    alert( $(this).attr('id') );
});
相关问题