问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js怎么获取xml里某个节点的值并输出

发布网友 发布时间:2022-04-28 14:17

我来回答

4个回答

懂视网 时间:2022-05-15 02:44

这次给大家带来怎样操作JS读取xml内容并输出到div内,操作JS读取xml内容并输出到div内的注意事项有哪些,下面就是实战案例,一起来看一下。

note.xml文件结构:

<nooo>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<note>
<to>a</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
</nooo>

利用js将xml输出到p中:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title>www.gxlcms.com js读取xml</title>
 <style>
 .aaaa{width: 30%;height: 50px;line-height: 50px;text-align: center;border: 1px solid darkblue;float: left;}
 </style>
 </head>
 <body>
 <p id="xmlid"></p>
 <script>
 xmltext = new XMLHttpRequest;
 xmltext.open("GET","note.xml",false);
 xmltext.send();
 a = xmltext.responseXML;
 //document.getElementById("xmlid").innerHTML = a.getElementsByTagName("to")[2].childNodes[0].nodeValue;
 x = a.getElementsByTagName("note");
 for(i=0;i<x.length;i++)
 {
 document.write("<p class='aaaa'>");
 document.write(x[i].getElementsByTagName("to")[0].childNodes[0].nodeValue);
 document.write("</p>");
 document.write("<p class='aaaa'>");
 document.write(x[i].getElementsByTagName("heading")[0].childNodes[0].nodeValue);
 document.write("</p>");
 document.write("<p class='aaaa'>");
 document.write(x[i].getElementsByTagName("body")[0].childNodes[0].nodeValue);
 document.write("</p>");
 }
 </script>
 </body>
</html>

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

使用jquery获取上传文件具体内容

JS做出倒计时恢复点击(强制阅读)

热心网友 时间:2022-05-14 23:52

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("王佳琳"));

热心网友 时间:2022-05-15 01:10

这个 ,在网上找到了你要的答案 ,经测试是可以使用的.


XML 文件(假设为“names.xml”,注意文件编码)

<?xml version="1.0" encoding="gbk"?>
<names>
<name>张三</name><name>李四</name><name>王五</name>
</names>

JavaScript 代码(需要放在 HTML 页面中,并在浏览器中执行)

//<script type="text/javascript">
//---- 加载 XML 文档的函数 ----
function loadXMLDoc(xmlFile){
    var xmlDoc;
    try{
        //Internet Explorer 可以使用其原生方法加载 XML
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }catch(e){
        try{
            //Firefox 也有标准方法,但可能造成其他浏览器报错,故省略
            //使用 XMLHttpRequest 替代,适用于大部分浏览器
            var xmlHttp=new XMLHttpRequest() ;
            xmlHttp.open("GET",xmlFile,false) ;
            xmlHttp.send(null) ;
            return xmlHttp.responseXML;
        }catch(e){
            return null;
        }
    }
    xmlDoc.async=false;
    xmlDoc.load(xmlFile);
    return xmlDoc;
}
//---- 解析 names.xml 的例子 ----
var xml=loadXMLDoc("names.xml");
//获取 XML 文档
var domElems=xml.getElementsByTagName("name");
//获取文档中"name"元素节点集合(数组)
var strNames=new Array(domElems.length);
//创建"strNames"数组用于存储"用户名"
for(var i=0;i<domElems.length;i++)
    strNames[i]=domElems[i].childNodes[0].data;
//取得"name"元素节点的子节点(文本节点)的数据,并存入"strNames"数组
alert(strNames.join());
//测试,输出"strNames"数组(预期结果:"张三,李四,王五")
//</script>

热心网友 时间:2022-05-15 02:45

用Jquery:$("#需要取值的ID").val()
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
香港电影有一部是两个女人能变蟒蛇的电影 期房需先交哪些钱 期房交定金之后多久交首付可以延期吗 期房定金后多久交首付可延期? 为什么考驾照就是紧张过不去,为什么 考驾照的考场是什么样的 moll是什么单位 法定单位规定物质的量用“mol”表示的优点是什么 物质的量的单位 摩尔 淘宝新手推广网店的十大方法,怎么做好推广? 淘宝网店怎么做推广? 怎么用JS存储到xml文件中和从xml文件中读取数据出来 如何使用JS给XML文件插入新的数据? 用javascript创建了一个xml节点后,如何将他更新到xml文件中。xml.save... 潜血阳性是什么意思 大便潜血阳性意味着什么 大便潜血试验阳性大便潜血阳性大便潜血是什么意思 佳能ts3380打印机为什么不能直接打印QQ上的文件而要先经过转换? 隐血阳性是什么意思? 佳能MG3680打印转换文档不清晰 体检结果大便潜血阳性是什么意思 Canon牌子的打印机复印后怎么转换成打印? 佳能打印机超过九十九页不能转换打印是怎么回事? 大便隐血阳性的意思是什么? 佳能tr4550打印机手机文件转换速度很慢是怎么回事? 大便隐血阳性是什么意思 佳能打印机ts308超20m文件手机无法上显示文件太大数据无法转换 佳能打印机+未导入格式不受支持的文件 为什么佳能ts3180打印机打印手机文档转换一半就不动了? 佳能打印数据转换服务什么意思 Ts3140佳能打印机文件格式转换不不来什么原因? JS给XML添加子节点并写入数据! javascript select 复制克隆问题 javascript读取xml文件 如何用javascript获取html中嵌入的xml代码? 帮助看看这JAVASCRIPT代码操作的XML文件名是什么? 怎样才能用js生成xmldom对象,并且在firefox中也实现xml数据岛?_百度知... 关于JS解析XML文件数据的疑问 使用js实现html加载xml内容(本地电脑使用) ...提取一些关键的节点数据组成新的xml文件,最好是用python编写 使用js移动DOM节点? JS代码中div的复制怎么实现 javascript中的3个问题 HTML中JavaScript解析xml的方法 初学者 拜请高手解疑啊 用javascript中的dom节点,编一个留言板?求代码? 电脑字体变大,分辨率变低,颜色变深。而且设置里分辨率调不过来。怎样可以使电脑恢复正常? 建行周六周日正常营业吗 电脑字体突然变大 属性里的分辨率改不了了 求助好心人 有什么办法呢~ 为什么一陪孩子写作业,妈妈就爱发脾气 孩子写作业总是很磨蹭,家长总是忍不住会发火怎么办? 电脑屏幕模糊,字体变大,分辨率调不回来