XML object 如何转化为字符串
// 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
谢谢
<div id=view>fdfd</div> <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>