Синтаксический анализ XML с помощью Jquery для IE7+ и Mozilla
Я работал над веб-приложением, где мне нужно проанализировать мой XML в JQuery. Я создаю свое веб-приложение для работы с 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 ответ
Не используйте основной jQuery $()
функция для разбора XML. Он пытается проанализировать XML как HTML, используя встроенный элемент HTML innerHTML
собственность, которая не работает должным образом, но подходит достаточно близко, чтобы усыпить людей ложным чувством безопасности. использование parseXML()
вместо:
var xmlDoc = $.parseXML(xml);
$(xmlDoc).find("cell").each(function () {
alert( $(this).attr('id') );
});