добавить удаление кавычек
Вопрос
Это довольно простая проблема, но я не могу найти решение.Я записываю некоторый xml в скрытый div на этой странице и читаю его позже.Проблема в том, что некоторые кавычки удаляются при записи в div, и из-за этого я не могу загрузить использовать xml в IE, используя loadXML
это XML-файл
<parameters id='XXX'>
<product_id value='YYY'/>
<report_id value='ZZZ'/>
<list>
<filter_id value='AAA'/>
</list>
<date_begin value='BBB'/>
<date_end value='CCC'/>
<timeframe_id value='DDD'/>
<chart_id value='EEE'/>
Я использовал много разных методов, но, похоже, ни один из них не работает, я пытаюсь использовать JQUERY как можно чаще, чтобы предотвратить кроссбраузерные проблемы, но подойдет любое решение.
Я добавляю xml в строковую переменную paramString выше, используя
var parametersDiv = "<div id='" + reportDivId + "_params' style='visibility: hidden; display: none'>" + paramString + "</div>";
и все проходит нормально.
однако, когда я пытаюсь извлечь его, кавычки вокруг XXX удаляются в IE.Таким образом, я не могу загрузить его с помощью loadXML().Я мог бы взломать решение, но я хотел бы сделать это правильно.
Любые решения были бы полезны, я уже потратил на это почти день.
Спасибо
Джей Ди
Решение
Попробуйте использовать двойные кавычки и посмотрим, сработает ли это.
Если нет, другим решением вашей проблемы может быть получение XML через XMLHttpRequest (Ajax).
jQuery.ajax({
url: 'yourUrlThatReturnsXML',
dataType: 'xml',
success: function (data, textStatus) {
$(data); // Your XML
}
});
Другие советы
Как вы вставляете эти скрытые разделы на страницу?Предположительно, вы используете innerHTML (учитывая, что у вас есть строка), но это означает, что она передается через HTML-анализатор IE.Это превратит его в (недопустимый) HTML, и когда вы попытаетесь извлечь его, вы увидите описанный вами эффект отсутствия кавычек на атрибутах (и, возможно, другие побочные эффекты, с которыми вы, оказывается, не сталкивались...пока).
Лучше всего сохранить ссылку на возвращаемый XML-документ (а не его строковую сериализацию) в переменной.