Проблемы IE8 при использовании метода jquery text () для синтаксического анализа XML

#javascript #jquery #xml #internet-explorer-8

#javascript #jquery #xml #internet-explorer-8

Вопрос:

Я пытаюсь проанализировать XML-файл в следующем формате XML:

 <mainTag>
    <tag1>1</tag1>
    <tag2>2</tag2>
    <tag3>3</tag3>
    <tag4>4</tag4>
    <tag5>5</tag5>
    <tag6>6</tag6>
    <tag7>7</tag7>
</mainTag>
  

Для этого я использую приведенный ниже код javascript / jquery (показана соответствующая часть; xml — это данные, полученные в результате вызова AJAX):

 $(xml).find("mainTag").each(function() {

    var constVal = $(this).text();

});
  

Проблема, с которой я сталкиваюсь, заключается в том, что при использовании IE8 constVal это приводит к:

 1234567 
  

В других браузерах (IE9 , FF, Chrome) значение для constVa l правильно перебирается и выдает:

 1
2
3
4
5
6
7
  

Есть ли способ помешать IE8 игнорировать символы новой строки и пробелы / сохранить их? Или разумный обходной путь? Редактирование файла не является вариантом.

Комментарии:

1. Почему бы вместо этого не повторить дочерние теги и не добавить новую строку самостоятельно?

2. странно. результат, который вы получаете от IE 8, — это результат, которого я ожидал бы. Вы установили свой тип данных в xml или проанализировали его как xml в случае успеха?

3. аденео, ваше решение сработало. Я перебрал массив .children() . Не могу поверить, что я сам не заметил этого решения. Большое спасибо за вашу помощь!