XML 解析与 Jquery for IE7+ 和 Mozilla

XML Parsing with Jquery for IE7+ and Mozilla

本文关键字:IE7+ Mozilla for Jquery XML      更新时间:2023-09-26

我一直在开发一个Web应用程序,我需要在jquery中解析我的xml。我正在构建我的网络应用程序,以便在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 读取的方法,它可以在所有浏览器中工作,这样我就不必编写浏览器检查代码了?

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

var xmlDoc = $.parseXML(xml);
$(xmlDoc).find("cell").each(function () {
    alert( $(this).attr('id') );
});