显示实际的xml节点为html但浏览器友好

时间:2012-01-04 21:25:10

标签: html xml ajax xslt stylesheet

我想在浏览器的html中显示我的XML ajax响应。然而,我需要的是显示实际的xml本身,即具有元素和内容的完整树,而不仅仅是节点的内容。

所以我希望xml显示为浏览器,例如:

<element>content</element>
    <element2>niijojoi</element2>
    <element2>niijojoi</element2>
    <element2>niijojoi</element2>
 //etc more nested elements some with atrributes etc

我有一个样式表可以显示文本,但是有没有人有一个xsl样式表,它只是遍历xml并将其输出到浏览器,就像缩进等一样。

感谢

3 个答案:

答案 0 :(得分:1)

如果您通过Ajax获取XML - 只需将结果放在textarea中,然后以任意方式设置textarea的样式。

textarea {
  background: #eee;
  width: 500px;
  height: 200px;
}
<textarea>
  
  <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
  </note>
  
</textarea>

答案 1 :(得分:1)

假设您通过AJAX获取XML并希望将其注入页面上的元素(<pre>元素是有意义的),您所要做的就是将<个字符替换为在将内容注入&lt;元素的innerHTML之前<pre>实体:

// "result" is the data from the AJAX request.
$('#xml').innerHTML = result.replace('<', '&lt;');

答案 2 :(得分:0)

这是由浏览器自动执行的。例如,如果我创建一个文件test.xml并将其放入其中:

<a>
  <element>content</element>
  <element1>
    <element2>niijojoi</element2>
    <element2>niijojoi</element2>
    <element2>niijojoi</element2>
  </element1>
</a>

并在Google Chrome中打开它,它会显示带缩进的XML层次结构。