利用http://www.jsons.cn/Down/jquery.json2xml.js 插件var
xml_content = $.json2xml(json_object);即可簡單方便
但是復雜的參數就比較混亂,當標簽為空的時候要判斷是否為空,否則innerHTML 就會報錯 如:
這樣就需要判斷
var name = htmldata[j].getElementsByTagName("name")[0] console.log(name) if(name.innerHTML == ''){ console.log(22) var name = htmldata[j].getElementsByTagName("name") }else{ var name = htmldata[j].getElementsByTagName("name")[0].firstChild.nodeValue }
目的讓js不報錯阻止進行
還有就是嵌套多層:
很奇怪的設定。一個數據就是對象,兩個以上就是數組,也不知道是插件解析出問題,還是xml的問題
這里我是用到vue做判斷,用for循環也是一樣的道理
<div class="list-mes" v-for="(index,item) in data"> <h3 class="list-title">{{index.plate_no}}</h3> <div class="list-mes-item" style="display: block;" v-if="index.pusers.p_user.pname == undefined"> <div v-for="(cc,item) in index.pusers.p_user"> <div>{{cc.pname}} 有效期:{{cc.valid_date}}</div> </div> </div> <div class="list-mes-item" style="display: block;" v-else> <div> <div>{{index.pusers.p_user.pname}} 有效期:{{index.pusers.p_user.valid_date}}</div> </div> </div> </div>
當是vue循環出來的時候,判斷,如果對象獲取是undefined 那就是數組,再二次循環,v-else 用對象格式再渲染出來
第一次用xml做數據,,,坑了我兩天