javascript - jQuery XMLDocuments 和字符串

标签 javascript jquery

我有这样的两难境地。

我有一个代表 XML 的字符串。我想操作该 XML 添加和更新节点,然后我希望将 xml 作为字符串返回。

我一直在使用 javascript 和 jQuery,并且研究了几种方法

使用 JQuery

var x_raw = "<?xml version='1.0'?><Q id ='23'><SQ id='201'><GP id='0'></GP></SQ></Q>"
var j_xml = $(x_raw)
.... Code for XML manipulation goes here ....
var x_string = (new XMLSerializer()).serializeToString(j_xml);

这会在 firebug 中产生一个安全异常

直接使用 javascript

var x_raw = "<?xml version='1.0'?><Q id ='23'><SQ id='201'><GP id='0'></GP></SQ></Q>"
var xml = $.parseXML(x_raw);

newNode = xml.createElement("VALUE")
newText = xml.createTextNode("<![CDATA[Whooppeee]]>");

var insert = xml.getElementsByTagName('GP')[0].appendChild(newNode)
insert = insert.appendChild(newText)

var x_string = (new XMLSerializer()).serializeToString(xml);

这有效,但 CDATA 代码返回为

<![CDATA[Whoooppeee]] >

我试过javascript转义技巧

newText = xml.createTextNode("\<![CDATA[Whooppeee]]\>")

也没用

在 XML 文档上使用 jQuery 遍历函数...

var x_raw = "<?xml version='1.0'?><Q id ='23'><SQ id='201'><GP id='0'></GP></SQ></Q>"
var xml = $.parseXML(x_raw);
var collection = xml.filter("SQ")

产生 Firebug 错误“xml.filter is not a function” 任何 jQuery DOM 遍历函数都会产生相同的错误。

我准备求助于丑陋的字符串操作函数! 因此,非常感谢任何能让我得到一些合乎逻辑的结果的帮助或提示。

问候 非常感谢和赞赏溢流船员的集体智慧!

古斯

最佳答案

尝试 createCDATASection()

newText = xml.createCDATASection("Whooppeee");

关于javascript - jQuery XMLDocuments 和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8046427/

相关文章:

javascript - Jquery + CSS 根据视口(viewport)宽度大小显示/隐藏表格元素

java - jqGrid : show/hide columns while Updating and Inserting data

javascript - 在克隆行上显示文本区域的字符限制

javascript - 如何从输入到其他div的html标签调用 Controller 函数

android - Android 浏览器中的网页 - 图像尺寸

javascript - 在 Rollup.js 中使用 jQuery DataTables

javascript - 仅通过单选来 react 复选框功能

javascript - javaScript 函数内的 evt 参数

jquery - 在浏览器窗口的中心覆盖 DIV

javascript - Chart.js 在左侧 Y 上显示美元金额,在右侧 Y 上显示百分比金额