Проблема с использованием jQuery для преобразования XML в HTML и обратно (CDATA превращается в комментарии HTML) - PullRequest
1 голос
/ 10 ноября 2011

Я создаю плагин / букмарклет, который будет принимать документ XML, встроенный в <textarea> веб-страницы, вносить некоторые изменения в этот XML, а затем помещать измененный XML обратно в <textarea> (чтобы получитьотправлено обратно на сервер).Мой код работает отлично, за исключением случаев, когда речь идет о CDATA разделах XML.Когда мой код jQuery преобразует XML в HTML, он конвертирует все разделы CDATA в комментарии.Таким образом,

<![CDATA[${Some Value}]]>

становится

<!--[CDATA[${Some Value}]]-->

Иногда некоторые данные в разделах CDATA также путаются.В некоторых сообщениях я читал, что то же самое происходит при использовании вызовов AJAX для извлечения данных XML.Решение заключалось в том, чтобы включить правильный тип заголовка: 'Content-Type: text/xml' Однако я не знаю, как использовать эту информацию для решения моей проблемы - поскольку я работаю только с XML, уже находящимся на странице.

ДляБолее подробно, то, как я извлекаю XML из <textarea> на странице, чтобы я мог далее манипулировать им, с помощью следующего:

var myXml = $('textarea#myID').val();
myXml = $('<div id="myDiv" />').html(myXml);

и я помещаю измененный XML обратно всо следующим:

$('textarea#myID').val($('#myDiv').html());

Кто-нибудь знает, как я мог бы обойти проблему с тем, как разделы CDATA превращаются в <!--comments-->, когда XML впервые конвертируется в HTML?

1 Ответ

1 голос
/ 10 ноября 2011

http://api.jquery.com/jQuery.parseXML/

Это может помочь.Вам нужно проанализировать его как xml

Редактировать:

Сначала проанализируйте ваш xml, как я уже упоминал ранее, затем манипулируйте значениями по мере необходимости, затем преобразуйте его обратно в строку и добавьте в свой DIV, используяэто:

http://plugins.jquery.com/project/x2s

...