我正在创建一个插件/ bookmarklet,它将嵌入在网页的<textarea>
中的XML文档,对该XML进行一些更改,然后将修改后的XML放回{{1} (提交回服务器)。除了涉及XML的CDATA部分之外,我的代码工作得很好。当我的jQuery代码将XML转换为HTML时,它会将所有CDATA部分转换为注释。因此
<textarea>
变为
<![CDATA[${Some Value}]]>
有时,CDATA部分中的某些数据也会混乱。我在一些帖子中读到,当使用AJAX调用来检索XML数据时,会发生同样的事情。解决方案是包含正确的标头类型:<!--[CDATA[${Some Value}]]-->
但是,我不知道如何使用该信息来解决我的问题 - 因为我只在页面上使用XML。
对于更多背景知识,我从页面上的'Content-Type: text/xml'
中获取XML以便我可以进一步操作它的方式如下:
<textarea>
我将修改后的XML放回到以下内容中:
var myXml = $('textarea#myID').val();
myXml = $('<div id="myDiv" />').html(myXml);
当XML首次转换为HTML时,有没有人知道如何解决CDATA部分变成$('textarea#myID').val($('#myDiv').html());
的问题?
答案 0 :(得分:1)
http://api.jquery.com/jQuery.parseXML/
这可能会有所帮助。您需要将其解析为xml
编辑:
首先解析你之前提到的xml,然后根据需要操作值,然后将其转换回字符串并使用以下内容添加到DIV中: