JavaScript获取并解析XML

如何用JS解析XML
服务器君一共花费了297.335 ms进行了6次数据库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

XML在Web开发中使用很广泛,通常作为数据传递的载体。一般将数据传递给前端的时候,需要用JavaScript解析后才能使用。所以,用JavaScript解析XML是使用得非常普遍的。

有以下一个XML文件:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<note>
	<to>duncan</to> 
	<from>John</from> 
	<heading>Reminder</heading> 
	<body>Don't forget the meeting!</body> 
</note>

可以使用下面的方法解析:

<html>
<head>
<script type="text/javascript">
function parseXML()
{
	try //Internet Explorer
  	{
  		xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  	}
	catch(e)
  	{
  		try //Firefox, Mozilla, Opera, etc.
    	{
    		xmlDoc=document.implementation.createDocument("","",null);
    	}
  	catch(e)
    {
    	alert(e.message);
    	return;
    }
}
xmlDoc.async=false;
xmlDoc.load("note.xml");
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</head>
<body onload="parseXML()">
<h1>www.nowamagic.net</h1>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>
</p>
</body>
</html>

xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue 这段代码如何理解?

  • xmlDoc -由解析器创建的 XML 文档。
  • getElementsByTagName("to")[0] - 第一个 <to> 元素。
  • childNodes[0] - <to> 元素的第一个子元素(文本节点)。
  • nodeValue - 节点的值(文本本身)。

如果xml文件为:

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<note>
	<to>asdfsd
		<too>duncan1</too>    
	</to> 
    <too>duncan2</too>
  	<from>John</from> 
  	<heading>Reminder</heading> 
  	<body>Don't forget the meeting!</body> 
</note>

读取第一个<too>:xmlDoc.getElementsByTagName("to")[0].getElementsByTagName("t00")[0].childNodes[0].nodeValue。

读取第二个<too>:xmlDoc.getElementsByTagName("too")[0].childNodes[0].nodeValue。

本文地址:http://www.nowamagic.net/librarys/veda/detail/463,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.nowamagic.net/librarys/veda/detail/463

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效率低,我觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径中再也没有比学习该专业的专业课程更好的了。如果我的知识结构体系足以囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个词我们就已经知道他要表达什么,我们可以让他坐“上位”毕竟他是面试官,但是在知识结构体系以及心理上我们就居高临下。

所以,阅读一百本计算机著作吧,少年!

《编译原理(第2版)》 Alfred V. Aho (作者), Monica S.Lam (作者), 赵建华 (译者), 郑滔 (译者), 戴新宇 (译者)

《编译原理(第2版)》全面、深入地探讨了编译器设计方面的重要主题,包括词法分析、语法分析、语法制导定义和语法制导翻译、运行时刻环境、目标代码生成、代码优化技术、并行性检测以及过程间分析技术,并在相关章节中给出大量的实例。与上一版相比,《编译原理(第2版)》进行了全面的修订,涵盖了编译器开发方面的最新进展。每章中都提供了大量的系统及参考文献。《编译原理(第2版)》是编译原理课程方面的经典教材,内容丰富,适合作为高等院校计算机及相关专业本科生及研究生的编译原理课程的教材,也是广大技术人员的极佳参考读物。

更多计算机宝库...