我有这样的两难境地。
我有一个代表 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 遍历函数都会产生相同的错误。
我准备求助于丑陋的字符串操作函数! 因此,非常感谢任何能让我得到一些合乎逻辑的结果的帮助或提示。
问候 非常感谢和赞赏溢流船员的集体智慧!
古斯
最佳答案
newText = xml.createCDATASection("Whooppeee");
关于javascript - jQuery XMLDocuments 和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8046427/