如何获取xml中某个节点的值

如题所述

第1个回答  推荐于2018-03-22
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;
}本回答被网友采纳

C# 如何得到一XML文件中指定的节点属性值
该方法首先实例化一个`XmlDocument`对象,然后通过传递的`xmlFile`参数加载XML文件。`GetElementsByTagName()`方法获取所有具有`nodeName`属性的节点。接着,使用`foreach`循环遍历这些节点。对于每个节点,通过`Attributes`属性获取指定`attributeName`的属性,并通过`Value`属性获取该属性的值。最后,将获取...

C#操作XML,如何获取指定节点值?
1:使用XmlDocument相关类库和方法操作xml2:使用XDocument相关类库和方法操作xml3:使用XmlReader和XmlWriter相关类库和方法操作xml获得指定节点的值也需要 分为属性和元素1:使用XmlDocument XmlDocument doc = new XmlDocument(); doc.Load("Customer2.xml"); \/\/ XmlNodeList nodeList = doc.GetElementsByTagName("row...

怎么获取xml某个节点下的所有内容
可以通过元素中的getText方法获取到节点的内容。举例:SAXReader sax = new SAXReader();Document document = sax.read(reader);\/\/reader为定义的一个字符串,可以转换为xmlElement root = document.getRootElement();\/\/获取到根节点元素String str = root .getText()\/\/获取到节点的内容用到的是dom4j...

C#如何读取XML中指定的节点值?
1、使用xmldocument类加载这个xml,然后调用其成员函数查找你要的节点。2、在vs中打开这个xml文件,在xml菜单中选择生成架构,将这个xsd保存为文件a.xsd,然后进入vs的命令行,进入a.xsd目录,调用“xsd.exe \/c \/n:MyNamespace a.xsd”,此工具会自动生成一个Employees类的cs文件,将这个cs文件加入到...

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

如何用sed命令,获取XML数据中指定节点的内容
<?xml version="1.0" encoding="utf-8" standalone="yes"?><hello> <num1>1<\/num1> <num2>2<\/num2><\/hello>文件名:xml.txt 依次设置变量tag=num1、num2、hello,使用sed语句:sed -n '\/<'$tag'>\/{\/\\\/'$tag'\/{p;b};:BG;N;\/<\\\/'$tag'\/!bBG;p}'可以得到从<tag>开始...

js读取xml节点的数据
1. XML格式的数据可以被解析成具有层级结构的DOM树,JavaScript可以利用DOM操作方法来遍历和获取XML节点的数据。2. XMLHttpRequest对象可以异步加载XML文件,使得页面在等待XML文件加载完成的同时可以继续执行其他操作,提高了页面的响应速度和用户体验。拓展:除了使用XMLHttpRequest对象和DOM操作来读取XML节点...

c# 怎么从xml获取节点的值
xmlrep.Load(request);xmlrep.SelectSingleNode("\/\/cardtype").InnerText;\/\/req是根节点吧,改成这样试试。。。或者xmlrep.SelectSingleNode("\/\/rep\/\/cardtype").InnerText;

VBA如何读取xml节点中的内容?
知道规律的可以用split,如果不知道规律,只能用遍历XML的办法去解读了。可以在office vba 编辑器引用msxml,然后用load方法调用xml文件,然后遍历节点,过滤node类型,获得该node的内容,思路是这个思路。

qt 怎么获得xml文件中的特定节点
使用QXmlStreamReader::readElementText()可以读取节点的内容。 取src的话使用if(m_xml->name().attributes().value(id) == big8) src = m_xml->name().attributes().value(src); 应该就可以获得了。

相似回答