Загрузка XML из строки в JavaScript прекрасно работает в IE 8, не работает в Firefox - PullRequest
1 голос
/ 08 сентября 2010

У меня есть файл XML, который был сгенерирован путем сериализации объекта C #.

Я хочу проанализировать этот XML с помощью JavaScript.

Когда я пытаюсь загрузить строку в виде XML с использованием JavaScript, она отлично работает в IE 8, но не работает в Firefox.

Это код, который я использую

if (window.DOMParser)
{
parser = new DOMParser();
xmlDoc = parser.parseFromString(stringValue, 'text/xml');
}
else
{
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = 'false';
xmlDoc.loadXML(stringValue);");
}

Есть идеи, почему? я думал, что позаботился о несовместимости браузера в приведенном выше коде. Кроме того, вот XML-файл , если он может помочь.

1 Ответ

0 голосов
/ 08 сентября 2010

Ок Супер странное решение здесь ... Оказывается, в файле XML между пробелами есть пробелы, а метод DOMParser.parseFromString () каким-то образом загружает все пробелы в виде узлов.

Настройка кода сериализации моего C #, как это, решила проблему:

XmlDocument tempXml = new XmlDocument();
tempXml.PreserveWhitespace = false;
tempXml.LoadXml(serializedXML);  
hdnSiteConfig.Value = tempXml.OuterXml;
...