从我的后端我检索一个包含一些xml数据的字符串。当我显示它(现在只使用@ Model.XM)时,我看到一个包含xml数据的漂亮的长字符串。无论如何将格式化为树结构?喜欢jquery插件或什么?我尝试了一些谷歌,但无法找到它。
在页面上也是其他数据,它不仅是xml数据。
答案 0 :(得分:1)
您需要的只是一个递归循环,它将XML文档的子节点转换为HTML列表元素。尝试这样的事情(未经测试):
var html = '<ul><li>' + xml.documentElement.nodeName + '</li>';
var html += displayTree(xml);
var html += '</ul>';
function displayTree(xml) {
var str = '';
if ($(xml).children().length) {
str += '<ul>';
$(xml).children().each(function() {
str += '<li>' + this.nodeName + '</li>';
});
str += '</ul>';
str += displayTree(xml.childNodes);
});
return str;
}
答案 1 :(得分:-1)
您可以使用XSLT。
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
关键是
<xsl:output indent="yes"/>
如果将上述转换应用于XML,它将正确缩进。 更多详情:http://www.w3.org/TR/xslt#copying