【问题标题】:XML parsing in Chrome vs IE and FirefoxChrome 与 IE 和 Firefox 中的 XML 解析
【发布时间】:2011-06-01 14:28:54
【问题描述】:

我正在使用 JQuery 来解析从服务器返回的一些 XML,并使用它来填充表;不幸的是,这只适用于 Firefox 和 IE,但不适用于 Chrome。相关代码如下:

var xmlDoc = $.parseXML(xml);
$(xmlDoc).find('z\\:row').each (
    function ()
    {//this stuff never gets executed in Chrome}

我也尝试过使用 $(xmlDoc).find("[nodeName=z:row]") ,但这给了我一个无效的语法错误。我已经验证了传递给 $.parseXML 的 xml 确实是一个有效且完整的 XML 文档。

(我正在寻找 'z:row' 的原因是它是 SharePoint Web Services 的输出。)

任何帮助将不胜感激! :)

编辑:问题已解决。原来在我正在查看的网站上发布了 nodeName 语法的人发布了无效语法。它必须是 '[nodeName="z:row"]' 才能成为一个独立的字符串,所有引号都是必需的。 *摇头*

【问题讨论】:

  • 我现在正在使用 xml,我的东西和你的几乎一样,我必须从服务器返回值并填充输入,但是使用 jquery,我使用的是 php。看看这个(geekpedia.com/tutorial156_How-to-read-XML-using-PHP-DOM.html
  • 很高兴您解决了这个问题。如果您将解决方案发布为答案并将其标记为已接受,它将帮助其他可能在未来搜索时找到它的人。 :)
  • 哈哈,我感受到了你的痛苦。我希望浏览器开发人员能够遵循相同的编码标准,这样我们就可以避免这种混乱……我发现 Chrome 只是不支持 z\\:row。如在,它只是平原不承认它。 * 生气 * Spudley,可以,但我的声望不够高,无法自我回应 8 小时。 :(

标签: jquery xml internet-explorer firefox google-chrome


【解决方案1】:

我认为你的问题在于function()之后的换行

JavaScript 在一行之后有隐式的分号插入。在某些浏览器上,他们可以告诉 function() 不应该换行,但是在 ECMAScript 标准中它不存在。

function(){(向上移动{

编辑:哦,如果已解决,则忽略上述内容。但是,遵循http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml 等开发指南仍然很好

【讨论】:

  • 哇,我对这个有没有的想法......将来一定会记住这一点。 :)
  • 是的。通读该 Google 风格的文档。它告诉你很多(如果你想使用闭包编译器也有帮助)。此外,if (something) 之类的语句应该在同一行后跟 {。所以if (something){。无论如何我都会用所有语言来做,因为我觉得它更干净:P
【解决方案2】:

问题已解决。原来在我正在查看的网站上发布了 nodeName 语法的人发布了无效语法。它必须是 '[nodeName="z:row"]' 才能成为一个独立的字符串,所有引号都是必需的。 *摇头*

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 2016-01-31
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多