Javascript 如何创建包含CDATA的xml元素
我需要从javascript创建一个xml,其中一些xml元素标记将包含简单的字符串数据,而一些将包含html数据。为此,我创建了一个函数Javascript 如何创建包含CDATA的xml元素,javascript,jquery,xml,Javascript,Jquery,Xml,我需要从javascript创建一个xml,其中一些xml元素标记将包含简单的字符串数据,而一些将包含html数据。为此,我创建了一个函数 function element(child, childValue) { var element = document.createElementNS(url, child); var elementText = document.createTextNode(childValue); element.appendChild(elementText); r
function element(child, childValue) {
var element = document.createElementNS(url, child);
var elementText = document.createTextNode(childValue);
element.appendChild(elementText);
return element;
}
通过以这种方式调用abobe函数“function(widgetData,widget1)”。它创建以下xml元素
"<widgetData>widget1<widgetData>"
但它在chrome中给出了错误“undefined function”。在Firefox中出现了“Unsupported html document”错误。您需要使用
以下方面应起作用:
function element(child, childValue) {
var element = document.createElementNS(url, child);
var section = document.createCDATASection(childValue);
element.appendChild(section);
return element;
}
请注意:
这只适用于XML,而不适用于HTML文档(因为HTML文档不支持CDATA节);在HTML文档上尝试此操作将抛出“不受支持”错误
执行上述代码获取错误“未能对“文档”执行“CreateCataSection”:HTML文档不支持此操作。“在firefox获取异常中,“[exception…”操作不受支持”代码:“9”nsresult:“0x80530009(NotSupportedError)”位置:“]”我引用了文档中的一个重要位,这很可能解释了这个错误。简而言之,您必须将其用于真正的XML文档。感谢您的帮助和努力。
<widgetData><p>Hello, world</p></widgetData>
<widgetData><![CDATA[<p>hello, world </p>]]></widgetData>
var elementText = document.CreateCDataSection(childValue);
function element(child, childValue) {
var element = document.createElementNS(url, child);
var section = document.createCDATASection(childValue);
element.appendChild(section);
return element;
}