使用javascript在新窗口中打开XML

时间:2018-02-13 17:22:46

标签: javascript html xml

我希望能够使用任何浏览器的本机xml格式查看xml数据。与在浏览器中打开本地xml文件类似。

  1. xml数据存储为javascript可以访问的字符串。
  2. 除了xml数据之外,我不需要网页上的任何其他内容。

    <#+ for (int i = 0; i < 10; i++) { #> <#= i #> <#+ } #> var xmlString = document.getElementById("xmlDivContent" + name).innerText;

  3. 我已广泛搜索过这个问题的解决方案......我对使用XSLT或任何“自动滚动”格式化功能不感兴趣,因为我只是想利用浏览器的内置功能xml格式化。

2 个答案:

答案 0 :(得分:0)

过去只需创建一个包含编码的xml信息的数据URL即可实现。大多数浏览器(尤其是Chrome)在此处描述的故障单中不支持此功能:Intent to Deprecate and Remove: Top-frame navigations to data URLs

在这篇文章中,他们详细说明了可能的替代方案:

  • 在后端生成文件,并通过http / https将其发送给用户。

  • 启动下载而不是显示网址。

  • 如果网址的内容受信任,请将网址设为iframe,以便多功能框显示网站的网址。

我最终下载了xml。如果有人能想出一个在iframe中显示XML内容的解决方案(使用浏览器的原生xml格式,那将是一个很好的改进)

答案 1 :(得分:0)

使用Blob API可以实现:

let blob = new Blob(['<yourxmlstringhere></yourxmlstringhere>'], {type: 'text/xml'});
let url = URL.createObjectURL(blob);
window.open(url);
URL.revokeObjectURL(url); //Releases the resources