2012-07-27 138 views
1

我试图把XML并将其附加到一个元素,但不管我如何做到这一点(appendChild,insertBefore, replaceChild等)我不断收到所有浏览器包括最新版本。JavaScript/DOM:无法附加从DOMParser的XML

下面是相关代码...

var s = '<div xmlns="http://www.w3.org/1999/xhtml">'+document.getElementById('xml_textarea').value+'</div>'; 

var xml = new DOMParser().parseFromString(s,'application/xml'); 

document.getElementById('example').appendChild(xml); 

以下是由的DOMParser(解释文本,以便保持正确解释段落如此明显的每个元素里面的空间是唯一绕过网站的分析错误)...

< p> 111 </p>

< p> 222 </p>

< P> 333 </P>

究竟我缺少的是防止物体被添加到页面?

  • 我想继续使用应用程序/ xml媒体类型/ mime虽然已经测试过text/xml但没有成功。
  • 没有框架,期间。

回答

1

显然所有者文件是不同的,所以我必须使用importNode ...

document.getElementById('example').appendChild(document.importNode(xml.getElementsByTagName('div')[0],true)); 
+0

我不能完全确定为总体目标的代码,所以你可能会发现你自己的解决方案更适合你的问题。请注意,IE不支持importNode。 – 2012-07-28 06:09:38

+0

尽管我以黑客相关的方式,但我的网站支持IE6/AJAX,虽然我停止支持IE6,并且由于市场份额微不足道而没有主动测试IE7。我需要的一切都很好,谢谢。 – John 2012-07-28 16:51:24

0

这应该这样做

document.getElementById('example').appendChild(xml.childNodes[0]); 
+0

试过了。我已经回答了我自己的问题,谢谢。 – John 2012-07-27 12:23:42