// JQuery ajax 返回 XML Object
var xml = "<response>" +
"<dode>" +
"<aa>" +
"<bb>tyik</bb>" +
"<qq>" +
"<jj>dfdf</jj>" +
"</qq>" +
"</aa>" +
"</code>" +
"<message>message...</message>" +
"</response>";
//
var xmlDoc = $.parseXML(xml);
// to string 比如服务器返回了上面的 XML Object, 用JS(Jquery)接收处理.
现在需要把它转化为 JS 字符串 并且 输出到浏览器,要有XML的层级结构。就是把XML原样输出。
我试过用递归不过没写出来, 大家帮我看看, 帮我写个通用的函数( HTML特殊字符可以先不考虑 )
最好不要用 new XMLSerializer().serializeToString(..) 或 IE的 xmlDoc.xml
谢谢JavaScriptXML对象
<script>
var xml = "<response>" +
"<code>" +
"<aa>" +
"<bb>tyik</bb>" +
"<qq>" +
"<jj>dfdf</jj>" +
"</qq>" +
"</aa>" +
"</code>" +
"<message>message...</message>" +
"</response>";
//
var xmlDoc = $.parseXML(xml);
$("#view").html(xml_view(xmlDoc));function xml_view(xml) {
var s = '';
for(var i=0; i<xml.childNodes.length; i++) {
if(xml.childNodes[i].nodeType == 1) {
s += '<ul>&'+'lt;' + xml.childNodes[i].nodeName + '&'+'gt;';
s += xml_view(xml.childNodes[i]);
s += '&'+'lt;/' + xml.childNodes[i].nodeName + '&'+'gt;</ul>';
}else s += xml.childNodes[i].nodeValue;
}
return s;
}
</script>
因为我是用的是在线编辑器,不拆开来不行