您好,登錄后才能下訂單哦!
本文實例講述了jQuery實現遍歷XML節點和屬性的方法。分享給大家供大家參考,具體如下:
用jquery遍歷xml網上已經有很多, 但是看了好多文章, 對于不指定屬性名稱的遍歷方法卻沒有
研究了一下, 好像jquery沒有attributes. 還是要借助于原生態的JS
以下是JS代碼
<script type="text/javascript" src="js/jquery.min.js"></script> <div id="c"></div> <script> //用于縮進, 根據節點級別 var M_DOT = 1; //遞歸函數, 用于遍歷XML, 同時打印出來 function fn(obj){ //定義一個變量, 用于縮進 var dotString = ""; //根據縮進量, 得到縮進的長度 for(j = 1; j <= M_DOT; j++){ dotString += " "; } //jquery不支持attributes屬性集, 轉為原生js, 并賦給myObj變量 var myObj = obj[0].attributes; //打印縮進 $("#c").append(dotString) //打印屬性集nodeName, nodeValue為原生JS, 分別表示為屬性的名稱, 和屬性值 $(myObj).each(function(i){ $("#c").append( ($(this)[0].nodeName) + "=<u>" + ($(this)[0].nodeValue) + "</u> " ); }) //打印節點的文本 //$("#c").append( "<b>" + obj.text() + "</b><br/>"); //打印換行 $("#c").append( "<br/>"); //判斷DOM有無子DOM if( obj.length > 0 ){ //如果有, 遍歷之 obj.children().each(function(i){ //縮進量加一 M_DOT++; //遞歸遍歷子DOM fn($(this)); //縮進量加一 M_DOT--; }) }else{ //如果沒有子DOM, 返回false return false; } } //程序入口 $(document).ready(function() { //ajax獲取xml數據, 詳細用法見jquery手冊 $.get('config.xml', function(d){ //len = $(d).find("*").length; //找到xml頂級結點. ('*:first'):就是查找第一個DOM. 詳細說明見jquery手冊 //find, children(), each, 以及后面用到的 append 等請查閱jquery手冊 $(d).find('*:first').children().each(function(i){ //找到頂級結點的子結點, 并把子結點對象傳給fn函數 fn($(this)); }); }); }); </script>
附一個XML文件
請取名config.xml放在和以上js同目錄下, 并都放在站點中
<?xml version="1.0" encoding="utf-8" ?> <roster> <student ID="s101"> <name>李華</name> <sex>男</sex> <birthday>1978.9.12</birthday> <score>92</score> <skill>Java</skill> <skill>Oracle</skill> <skill>C Sharp</skill> <skill>SQL Server</skill> </student> <student ID="s107"> <name>李尋歡</name> <sex>男</sex> <birthday>1981.4.19</birthday> <score>58</score> <skill>UML</skill> <skill>C Sharp</skill> <skill>XML</skill> <skill>SQL Server</skill> </student> </roster>
PS:這里再為大家提供幾款關于xml操作相關在線工具供大家參考使用:
在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
xml代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery操作xml技巧總結》、《jQuery擴展技巧總結》、《jQuery常用插件及用法總結》、《jQuery常見經典特效匯總》及《jquery選擇器用法總結》
希望本文所述對大家jQuery程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。