gpt4 book ai didi

jquery 设置 xml cdata

转载 作者:行者123 更新时间:2023-12-01 01:19:50 26 4
gpt4 key购买 nike

我在使用 jquery 设置 cdata 节点时遇到问题。使用 .text() 函数可以轻松获取 cdata,但如果我使用 .text('jquery >handy') 它不会创建 cdata 节点。

这是我的程序:我获取 xml 中的表单数据以加载到表单中像这样的东西:

<formdata>
<field id="title"><![CDATA[Some title]]></field>
<field id="description"><![CDATA[Some description]]></field>
</formdata>

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

如果用户发布表单,我会更新 xml 并将其转换为字符串以将其发布到服务器。我知道我可以只发布字段,但我有一些充分的理由将其放入 xml 文档中。一切都工作得很好,但如果用户使用特殊字符进行一些输入,则不然。这就是我设置节点值的方式(在本例中为“描述节点”)

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

所以该节点曾经是 cdata,但 .text() 函数将其删除。我也尝试过这个:

domdoc.find('field[id="description"]').text('<![CDATA[' + $("#description").val() + ']]>');

这也不起作用,因为 .text() 将 < 更改为 >

有人有解决办法吗?我的灵感消失了......

谢谢,西蒙

最佳答案

简单的解决方案。创建一个 CData 节节点并将其附加到您的 XML。我在 JQuery .text() 上苦苦挣扎,但没有运气。这效果太棒了。

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

关于jquery 设置 xml cdata,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246923/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com