JavaScript获取并解析XML

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

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本书吧。很多人知识结构不好而且不系统,因为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

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

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

《Head First设计模式(中文版)》 弗里曼 (作者), 等 (作者)

《Head First设计模式》(中文版)共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。前言先介绍这本书的用法;第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton,Command、Adapter、Facade、TemplateMethod、Iterator、Composite、State、Proxy。最后三章比较特别。第12章介绍如何将两个以上的设计模式结合起来成为新的设计模式(例如著名的MVC模式),作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词)。

更多计算机宝库...