国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript讀取xml

2019-11-21 02:28:35
字體:
供稿:網(wǎng)友

復(fù)制代碼 代碼如下:
/** 
 * 得到XML文件屬性的集合對象 
 * @param xmlDoc XML對象 
 * @param name 屬性名稱 如: user 
 * @return 返回 Array 對象 
 * Example XML: 
 * <?xml version='1.0' encoding='utf-8'?> 
 * <ekuy> 
 *   <user> 
 *     <name> 
 *       <cnname>小豬</cnname> 
 *     </name> 
 *     <age>27</age> 
 *   </user> 
 *   <user> 
 *     <name> 
 *       <cnname>小霞</cnname> 
 *     </name> 
 *     <age>26</age> 
 *   </user> 
 * </ekuy> 
 */ 
function getXMLArray(xmlDoc, name) { 
  var keys = name.split('.'); 
  var node = xmlDoc.documentElement;      // 得到根節(jié)點 
  var rtn = new Array(); 
  var n = 0; 

  for(var i=0; i<keys.length; i++) { 
    var childs = node.childNodes;       // 得到子節(jié)點 
    var key = keys[i]; 
 for(var k=0; k<childs.length; k++) {       
   var child = childs[k]; 
   if(child.nodeName == key) {     // 判斷子節(jié)點是否符合 
  if(i == keys.length-1) { 
          rtn[n] = child; 
    n++; 
  } else { 
    node = child; 
    break; 
  } 
   } 
 } 
  } 


  return rtn; 



/** 
 * 得到由getXMLArray函數(shù)得到對象中的值 
 * @param node 節(jié)點對象 
 * @param name  
 * @return 返回 String  
 */ 
function getValue(node, name) { 
  var keys = name.split('.'); 

  for(var i=0; i<keys.length; i++) { 
    var childs = node.childNodes;       // 得到子節(jié)點 
    var key = keys[i]; 
 for(var k=0; k<childs.length; k++) {       
   var child = childs[k]; 
   if(child.nodeName == key) {     // 判斷子節(jié)點是否符合 
  if(child.childNodes.length == 1) {          
    // 如果沒有字節(jié)點,返回值 
    return child.text; 
  } else {                                  
    // 還有子節(jié)點,繼續(xù)分析 
    node = child; 
    break; 
  } 
   } 
 } 
  } 


  return ""; 




// 測試: 


var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
xmlDoc.async = false; 
xmlDoc.loadXML("<?xml version='1.0' encoding='utf-8'?><ekuy><user><name><cnname>小豬</cnname></name><age>27</age></user><user><name><cnname>小霞</cnname></name><age>26</age></user><user><name><cnname>小章</cnname></name><age>25</age></user></ekuy>"); 


var list = getXMLArray(xmlDoc, 'user'); 
for(var i=0; i<list.length; i++) { 
  var obj = list[i]; 
  document.write(getValue(obj, 'name.cnname')); 
  document.write(getValue(obj, 'age')); 
  document.write('<br//>'); 
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 陵川县| 嘉义市| 稷山县| 安远县| 灯塔市| 河曲县| 嵊州市| 扶沟县| 柘荣县| 定边县| 新巴尔虎右旗| 屏边| 沅江市| 正安县| 桓仁| 壶关县| 林口县| 吉水县| 偏关县| 龙陵县| 沭阳县| 台中市| 衡山县| 正阳县| 伊金霍洛旗| 鱼台县| 北辰区| 尖扎县| 平江县| 如皋市| 京山县| 离岛区| 拜泉县| 博罗县| 聂拉木县| 定日县| 盐城市| 宝鸡市| 财经| 天水市| 岚皋县|