javascript读取xml_javascript技巧

复制代码 代码如下:

/** 
 * 得到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;      // 得到根节点 
  var rtn = new Array(); 
  var n = 0; 

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

  return rtn; 

/** 
 * 得到由getXMLArray函数得到对象中的值 
 * @param node 节点对象 
 * @param name  
 * @return 返回 String  
 */ 
function getValue(node, name) { 
  var keys = name.split('.'); 

  for(var i=0; i<keys.length; i++) { 
    var childs = node.childNodes;       // 得到子节点 
    var key = keys[i]; 
 for(var k=0; k<childs.length; k++) {       
   var child = childs[k]; 
   if(child.nodeName == key) {     // 判断子节点是否符合 
  if(child.childNodes.length == 1) {          
    // 如果没有字节点,返回值 
    return child.text; 
  } else {                                  
    // 还有子节点,继续分析 
    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\/>'); 
}

时间: 2024-09-25 04:03:57

javascript读取xml_javascript技巧的相关文章

用javascript操作xml_javascript技巧

文中尽量用上所有的操作和属性,以做示范 复制代码 代码如下: <script language="JavaScript">  <!--  var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")   //加载文档  //doc.load("b.xml");  //创建文件头  var

用javascript读取xml文件读取节点数据_javascript技巧

下面代码是读取的节点数据,还有一种情况是读取节点属性数据. <head> <title></title> <script type="text/javascript"> var objLength = null; var xmlHttp; var strurl = ""; function ajaxrequst() { if (window.ActiveXObject) { xmlHttp = new ActiveXO

javascript读取文本节点方法小结_javascript技巧

获取元素节点的子节点 1,获取id的所有子节点 var cityNode=document.getElemnetById("") 2,利用元素节点的childNodes 方法可以获得指定元素节点的所有子节点 alert(cityNode.childNodes.length) 注:基本不用 3.获取 id  节点的所有 li  节点 var cityLiNodes=cityNode.GetElementsByTagName("li"); alert(cityNode.

javascript创建cookie、读取cookie_javascript技巧

本文内容分为两个部分进行学习,分别介绍了javascript创建cookie.javascript读取cookie的具体实现方法,供大家学习,具体内容如下 一.创建Cookie document.cookie = 'key=value';  有特殊字符 使用encodeURIComponent() 进行编码 document.cookie = 'user='+encodeURIComponent('郭钱;');  读取时 使用decodeURIComponent() 例如: document.c

javascript读取RSS数据_javascript技巧

复制代码 代码如下: <html>  <head>       <title>javascript读取RSS数据</title>   <META content="text/html; charset=utf-8" http-equiv=Content-Type />  </head>  <body  leftmargin="0" topmargin="0"> 

Javascript常用小技巧汇总

  本文实例讲述了Javascript常用小技巧.分享给大家供大家参考.具体分析如下: 一.True 和 False 布尔表达式 下面的布尔表达式都返回 false: null undefined '' 空字符串 0 数字0 但小心下面的, 可都返回 true: '0' 字符串0 [] 空数组 {} 空对象 下面段比较糟糕的代码: 代码如下: while (x != null) { 你可以直接写成下面的形式(只要你希望 x 不是 0 和空字符串, 和 false): 代码如下: while (x

通过Javascript读取本地Excel文件内容的代码示例

 这篇文章主要介绍了通过Javascript读取本地Excel文件内容的代码示例,但需要一定的条件才可以使用js操作本地文件,需要的朋友参考下吧 读取本地Excel文件内容的Javascript代码:    代码如下: <script type="text/javascript"> function read_excel(){       var filePath="D:abcd9.com.xls"; //要读取的xls     var sheet_id

html-如何利用javascript读取本地Excel的部分数据

问题描述 如何利用javascript读取本地Excel的部分数据 我想做一个场所的查询系统,在主界面的地图上标注出场所来,点击场所可以跳转到这个场所对应的html界面来展示详细信息,这样的话就得有很多个的html来做跳转用,因为每个场所的html除了title,场所的文字描述和两张图片不同,其余的都是相同的. 我想知道能不能在本地创建一个excel表格把所有场所的属性信息都写在表格里,只需要写一个跳转的html,不同的值通过调用表格上对应的值就行了. 不知道该如何实现,求大神指导 解决方案 不

在使用JavaScript读取xml文件出问题了

问题描述 这是我的php目录:C:Program FilesCodeGearDelphi for PHP2.0vclgeneric_controlsBlockParameterEditView.php,我想在这个php下读取E:trunkappCompilerplantsdemofoundry_demoplant.xml内的节点.可是似乎只能读和php文件在相同的目录或者是其子目录下的plant.xml文件的节点.请问大家喔怎么读取E盘下的plant.xml文件呢. 解决方案 首先,我要明确的告