Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建包含CDATA的xml元素_Javascript_Jquery_Xml - Fatal编程技术网

Javascript 如何创建包含CDATA的xml元素

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

我需要从javascript创建一个xml,其中一些xml元素标记将包含简单的字符串数据,而一些将包含html数据。为此,我创建了一个函数

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>&lt;p&gt;Hello, world&lt;/p&gt;</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;
}