2

我一直在开发一个需要在 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 读取的方法,它适用于所有浏览器,这样我就不必编写浏览器检查代码了?

4

1 回答 1

1

不要使用 jQuery 的 main$()函数来解析 XML。它尝试使用 HTML 元素的内置innerHTML属性将 XML 解析为 HTML,该属性不能正常工作,但足够接近以使人们陷入一种错误的安全感。改用parseXML()

var xmlDoc = $.parseXML(xml);

$(xmlDoc).find("cell").each(function () {
    alert( $(this).attr('id') );
});
于 2012-04-12T14:02:54.810 回答