从iframe中的String显示XML作为XMLTree

Den*_*Ich 5 html javascript xml iframe

我从gwt rpc调用获得了一个XML String,我希望将其作为xml页面嵌入到iframe中.我希望看到的是漂亮的打印xml树,它的可折叠结构是浏览器提供的普通html内容.所以说一个xml的inpage视图.

我不能使用iframe的srcdoc属性,因为它不支持IE8(最早需要支持),而下一个问题是不允许使用javascript库.

我尝试了什么:

var iframeDocument = document.querySelector('#foo').contentWindow.document;
iframeDocument.open('text/xml', 'replace'); // Also tested without Args
iframeDocument.write(xmlcontent);
iframeDocument.close();
Run Code Online (Sandbox Code Playgroud)

虽然Firefox至少显示XML标签,但没有格式化,没有树Chrome和IE删除html标签,只是排列内容.

我试过的东西是

<iframe id="xmlframe" src="test.xml" name="thexml">
Run Code Online (Sandbox Code Playgroud)

在这里Firefox完全符合我的要求,而其他产生与以前相同的输出.所以这也没有用,我没有test.xml我只有一个字符串变量以及返回的其他东西...

这甚至可能吗?如果不是,您将如何使用xml String作为内容打开新的弹出窗口?

小智 2

就像 L.Monty 在评论中所说,我会将<XML 字符串中的每个标记替换为&lt;>这样&gt;浏览器就不会尝试将所有标记解释为 HTML。

对于您的树状视图,我将编写自己的函数,该函数在每个 XML 结束标记后面添加一个中断 + 一定量的空格,您可以在变量中为每个后续 XML 开放标记计算这些空格。不要忘记减少每个 XML-Close 标记的计数器。