js如何获取xml中某个标签内的其他属性

像xml文件中的这个性别该如何获得?

第1个回答  2016-05-04
1、用 childNodes 属性,按顺序取
  实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。
  //pId 待取节点父节点序号
  //cId 待取节点序号
  
function getXmlNodeValue(pId, cId) {    
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");    
xmlDoc.async = false;
  xmlDoc.load("employeeInfo.xml");    
  var nodes = xmlDoc.documentElement.childNodes[pId].childNodes[cId];    return nodes.childNodes[0].text;  
}
调用方法:alert(getXmlNodeValue(1, 2));

2、用 for 循环来取

实现过程:首先创建一个 ie 支持的 xml 对象,如果发生异常,是创建一个 FireFox 支持的空 xml 对象并返回空;然后载入 xml 文件,如要发生异常也返回空;最后,通过 for 循环遍历查找与传入的节点值相同的节点,找到后返回属于该节点的属性值。
//nodeValue 待取节点的所属节点值

function getXmlNodeValueFor(nodeValue){
var xmlDoc; 
try {   
//创建一个 ie 支持的 XML 文档对象   
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");  
}catch(e){    
try{      
//创建FireFox空的XML文档对象      
xmlDoc=document.implementation.createDocument("","",null);
    }catch(e){      
     alert(e.message);      
     return "";    
    }  
  }
  xmlDoc.async = false;
  try {   
   xmlDoc.load("employeeInfo.xml");  
  }catch(e){    
   alert(e.message);    
   return "";  
  }
  var xd=xmlDoc.documentElement.childNodes;  
  if(xd==null)
   return "";  
   var tempValue;
  for(var i=0;i<xd.length;i++){    
   if(xd[i].childNodes[0].childNodes[0].nodeValue==nodeValue)       tempValue=xd[i].childNodes[2].childNodes[0].nodeValue;  
  }  
  return tempValue;
}
调用方法:alert(getXmlNodeValueFor("王佳琳"));追问

这是复制的呀,不过我已经找到想找的内容了
xmlDoc.getElementsByTagName("联系人")[n].getAttribute("性别")
谢啦总之

本回答被提问者采纳

js如何获取xml中某个标签内的其他属性
1、用 childNodes 属性,按顺序取 实现过程:首先创建一个 xml 对象,然后载入 xml 文件,再根据待取节点父节点在 xml 文件中的序号和本身的序号,确定待取节点的位置,最后返回待取节点的值。\/\/pId 待取节点父节点序号 \/\/cId 待取节点序号 function getXmlNodeValue(pId, cId) { var xmlDoc = ...

...标签的属性值,然后这个属性值怎么写入一个XML文件呢?另外怎么读取...
<\/root> js: window.onload=function(){ var xml=new ActiveXObject("MSXML2.DOMDocument.5.0"); \/\/创建对象 xml.async=false; \/\/同步 xml.load("x.xml"); \/\/载入 alert(xml.documentElement.selectNodes("main\/n\/name")[1].tagName); \/\/取标签名 alert(xml.documentElement.selectNo...

js读取xml节点的数据
JavaScript可以通过多种方式读取XML节点的数据。其中一种常见的方式是使用XMLHttpRequest对象来加载XML文件,并通过DOM操作来解析和提取节点数据。原因:1. XML格式的数据可以被解析成具有层级结构的DOM树,JavaScript可以利用DOM操作方法来遍历和获取XML节点的数据。2. XMLHttpRequest对象可以异步加载XML文件,使...

用javascript操作XML增删改查,获取属性节点。我用的是IE9和火狐。360...
我建议你使用js框架,操作xml非常轻松。另外javascript操作xml可以看一下百度文库里的教程,下面的网址:http:\/\/wenku.baidu.com\/view\/f29af8eeaeaad1f346933f4c.html

用js怎样从服务器端获取xml格式的数据对象
可以考虑用一下,js + xpath.参考如下:var dom=this.LoadXmlString(xmlDomStr);\/\/xmldom dom.setProperty("SelectionLanguage", "XPath");var nodes=dom.selectNodes(xpath);\/\/nodes为返回节点对象集.

js 如何读取xml文档内容
\/\/获得xml文件 xmlHttp.open("GET", xmlfile+"?"+Math.random(), true);\/\/ 设置处理服务器的JS函数,函数又 xmlHttp.onreadystatechange来确定 xmlHttp.onreadystatechange=function() { \/\/alert(xmlHttp.status);if (xmlHttp.readyState==4 && xmlHttp.status==200) { \/\/ajax的XML传输的解析...

JS中如何获取CSS属性
obj.style方法,这个方法只能JS只能获取写在html标签中的写在style属性中的值(style=”…”),看下面代码 XML\/HTML代码 <!DOCTYPE html PUBLIC “-\/\/W3C\/\/DTD XHTML 1.0 Transitional\/\/EN” “http:\/\/www.w3.org\/TR\/xhtml1\/DTD\/xhtml1-transitional.dtd“> JS获取CSS属性值 <!–.ss{...

js在解析XML是我想在if时判断标签名称,应该怎么写,如下if()括号里该...
这个是通过标签产生一堆js代码,产生的js代码和原来的js联用,就出效果。 javasript 中不能使用jstl标签,是页面经过解释后,将jstl转换成静态代码,你这里就是js代码。 javascript是客户端脚本语言,是运行在客户端的,客...

在JSP页面中如何将HTML标记显示出来
> 第二种:由于content中的内容是以HTML形式存储的,所以在页面显示的时候,会将一些HTML标签原封不动的显示出来.查看页面的源代码,发现这些标签已经被解析成了转义符.为了解决这个问题,在<c:out>标签中有一个escapeXml属性,其默认值为true,即默认是要将HTML标签转化为转义字符,所以在页面中就显示出了...

在js中怎样获得datagrid中的各个值
当我们有时在输入框值发生改变时希望执行一个函数操作,但同时也要修改一个自定义的属性,这样onpropertychange就会被触发两次,这个可能并不是我们所希望的。猜想一下,既然提供了这么一个属性,那一定应该能获取到是哪个属性被改变了。试着获取参数个数及参数内容。XML\/HTML代码复制代码代码如下:

相似回答