Синтаксический анализ XML в Chrome против IE и Firefox - PullRequest
1 голос
/ 01 июня 2011

Я использую 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]"), но это дает мне неверную синтаксическую ошибку. Я убедился, что xml, переданный в $ .parseXML, действительно является действительным и полным документом XML.

(причина, по которой я ищу 'z: row', заключается в том, что это вывод из веб-служб SharePoint.)

Любая помощь будет принята с благодарностью! :)

Редактировать: проблема решена. Оказывается, кто бы ни опубликовал синтаксис nodeName на сайте, на который я смотрел, опубликовал неверный синтаксис. Он должен быть '[nodeName = "z: row"] ", чтобы быть отдельной строкой, все кавычки обязательны. * качает головой *

Ответы [ 2 ]

1 голос
/ 01 июня 2011

Я думаю, что ваша проблема заключается в разрыве строки после function()

JavaScript имеет неявную точку с запятой после строки. В некоторых браузерах они могут сказать, что function() не должен получать разрыв строки, однако в стандарте ECMAScript его нет.

Do function(){ (переместить { вверх)

Edit: Oh, если это решено, тогда игнорируйте вышеупомянутое. Однако все еще хорошо следовать руководству по разработке, такому как http://google -styleguide.googlecode.com / svn / trunk / javascriptguide.xml

0 голосов
/ 04 июня 2011

Проблема решена.Оказывается, кто бы ни опубликовал синтаксис nodeName на сайте, на который я смотрел, опубликовал неверный синтаксис.Он должен быть '[nodeName = "z: row"] ", чтобы быть отдельной строкой, все кавычки обязательны.* качает головой *

...