javascript - 如何使用 javascript 显示 XML 文档对象?

标签 javascript xml dom

我的问题如下: 在我的 javascript 中,我从服务器加载 XML 文档。

var xmlDom =  document.implementation.createDocument("","",null);
xmlDom.async=false;
xmlDom.load("init.xml");

然后,用户可以通过编辑所显示网页的各种表单元素来修改此 XML 文档。完成后,我想打开一个新的浏览器选项卡并在其中显示修改后的 xml,以便用户可以保存它。问题是如何在不将 xmlDocument 发送到服务器并返回的情况下执行此操作。我当前的 hack 在页面上不显示任何内容,但至少显示页面源中的 xml。

    xmlWindow = window.open("");
    xmlWindow.document.open("text/xml");
    xmlWindow.document.write(serializer.serializeToString(xmlDom));
    xmlWindow.document.close();
    xmlWindow.focus();

有人知道如何正确执行此操作吗?

最佳答案

您需要对 XML 进行 HTML 编码才能显示。使用 < 代替 <,> 代替 > 等。用 pre 标签包围或将其作为 document.createTextNode(data) 中的数据。 .

您还可以在新窗口中的文档中创建一个文本区域,并将 XML 字符串放入文本区域中。

更多信息in this SO question .

关于javascript - 如何使用 javascript 显示 XML 文档对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5117067/

相关文章:

javascript - 如果它们都在服务器上运行,如何检查选择了哪个单选按钮?

c# - 参数复杂对象作为未定义进入 JavaScript 函数

xml - 如何通过XML文件在Odoo数据库中引入Many2one字段值?

android - Xml 可绘制对象未在应用程序中正确显示

dom - 拖动一个 div 及其所有子 div

javascript - 组件卸载前 setTimeout 未完全取消

xml - Sitemap.xml 对访问者隐藏

javascript - window.open 出现问题

javascript - 将 JavaScript 链接转换为标准链接

javascript - jquery 将时间从英语转换为法语