【问题标题】:JavaScript/DOM: Unable to append XML from DOMParserJavaScript/DOM:无法从 DOMParser 附加 XML
【发布时间】:2012-07-27 11:59:02
【问题描述】:

我正在尝试获取 XML 并将其附加到一个元素中,但是无论我如何执行此操作(appendChildinsertBeforereplaceChild 等),我都会在所有浏览器(包括最新版本)中不断收到错误消息。

这里是相关代码...

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 正在解释的文本(所以总是错误地解释段落,所以显然每个元素内的空格只是为了绕过网站的解析错误)...

111

222

333

究竟是什么让我无法将对象添加到页面中?

  • 我想继续使用 application/xml 媒体类型/mime,尽管测试 text/xml 没有成功。
  • 没有框架,句号。

【问题讨论】:

    标签: javascript dom domparser


    【解决方案1】:

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

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

    【讨论】:

    • 我不确定您的代码的总体用途,因此您可能会发现自己的解决方案更适合您的问题。请注意,IE 不支持 importNode。
    • 虽然与黑客相关,但由于市场份额微不足道,我的网站支持 IE6/AJAX,尽管我停止支持 IE6 并且此时不积极测试 IE7。我需要的一切都很好用,谢谢。
    【解决方案2】:

    应该这样做

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 2011-05-24
      • 1970-01-01
      • 2020-07-25
      • 2021-12-28
      相关资源
      最近更新 更多