jquery设置xml cdata

我在使用jquery设置cdata节点时遇到问题。 使用.text()函数很容易获得cdata,但是如果我使用.text(’jquery> handy’),它就不会创建cdata节点。

这是我的程序:我在xml中获取表单数据,以这样的forms加载:

    

我使用cdata节点,因为一个字段可以包含各种特殊字符。 然后我通过使用.text()获取节点内容来加载表单中的数据

如果用户发布表单,我更新xml并将其转换为sting以将其发布到服务器。 我知道我可以发布字段,但我有一些很好的理由将它放在xml文档中。 一切都很好,但如果用户使用特殊字符进行输入则不行。 这是我如何设置节点的值(在这个例子中是“描述节点”)

 domdoc.find('field[id="description"]').text($("#description").val()); 

所以节点曾经是cdata,但.text()函数删除了它。 我试过这个:

 domdoc.find('field[id="description"]').text(''); 

这也不起作用,因为.text()更改<to&gt;

有人有解决方案吗? 我的灵感消失了……

谢谢,西蒙

只需设置文本,无需添加 。 CDATA只是在XML中转义文本的方法之一,但由于jQuery为您逃脱,因此您不需要使用其他方法。 < 。 对于XML应用程序,它们是相同的。

简单解决方案 创建CData节节点并将其附加到XML。 我挣扎着JQuery .text()没有运气。 这太棒了。

  var cDataSection = self.xmlDocument.createCDATASection(text); $(element).empty(); $(element).append(cDataSection);