正如问题所说,它只是逃避了我的记忆如何在javascript中显示xml,我想在页面上的div中显示一些源xml,它位于另一个div中xml的处理结果旁边.
不记得是否有相当于javascript的转义来转换客户端上的实体
注意:xml文件是从服务器端提供的,因此我需要一个客户端解决方案
注意:主要问题是XML在大多数浏览器中无法正确呈现,所有括号和属性都消失了,留下的文本看起来不像xml
使用Ajax获取XML并简单地将结果放入textarea
.以任何您想要的方式设置textarea样式.
这是给你的功能:
如果您希望浏览器呈现您的XML
as XML
,它必须位于它自己的文档中,如a iframe
或a frame
.DIV
不会做这个工作!
此外,在您应该发送HTTP
的请求的标题中,所以浏览器可以理解这个内容是一个.iframe
Content-Type: text/xml
XML
但是,如果你真的需要在DIV中看到它,你必须自己构建一个XML
渲染功能XML2HTML
.HTML
PRE
如果您的XML
字符串已经格式化(换行符和制表符),则可以使用该标记.在这种情况下,你将不得不更换<
到>
中XML
的字符串.
结论: The browser
无法渲染XML
和HTML
在同一文件中.如果您需要它,您只需要解决它.
如果您不想仅仅为此使用整个JavaScript框架......
function insertLiteral(literalString, targetElement) { var textNode = document.createTextNode(literalString); targetElement.appendChild(textNode) return textNode; } // test it (for the example, I assume #targetDiv is there but empty) var xmlString = ""; var targetElement = document.getElementById("targetDiv"); var xmlTextNode = insertLiteral(xmlString, targetElement);
#targetDiv
可以使用CSS设置样式:
#targetDiv { font-family: fixed; white-space: pre; }