中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery實現遍歷XML節點和屬性的方法示例

發布時間:2020-08-28 01:40:58 來源:腳本之家 閱讀:272 作者:趙吉平 欄目:web開發

本文實例講述了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 += "&nbsp;&nbsp;&nbsp;&nbsp;";
  }
  //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>&nbsp;" );
  })
  //打印節點的文本
  //$("#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程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳山县| 毕节市| 黔南| 香格里拉县| 桂林市| 深圳市| 屏山县| 山东省| 鹰潭市| 乌兰浩特市| 化德县| 绥阳县| 锦州市| 平顶山市| 新巴尔虎左旗| 高碑店市| 巴南区| 板桥市| 嘉定区| 南宁市| 那曲县| 伊宁市| 延边| 威海市| 那坡县| 瑞丽市| 贵南县| 台北市| 安塞县| 永仁县| 三门县| 虎林市| 榆中县| 佛教| 天全县| 抚州市| 右玉县| 铜梁县| 泽州县| 武穴市| 桐庐县|