`
baron.unsafe
  • 浏览: 80251 次
社区版块
存档分类
最新评论

javascript 解析xml (chrome,firefox,safari,Opera,ie)

阅读更多
注:不允许任何形式的转载
  	//loadXMl
  	function loadXml(xmlFile){
  		var xmlDoc;
  		if(window.ActiveXObject){	//IE
  			xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  			xmlDoc.async=false;
  			xmlDoc.load(xmlFile);
  		}else if(document.implementation && document.implementation.createDocument){//firefox  opera
	  		try{
			  		xmlDoc = document.implementation.createDocument("", "", null);  
					xmlDoc.async = false;  
					xmlDoc.load(xmlFile);
			}catch(e){
				  try //Google Chrome  safari
				  {    
					   var xmlhttp = new window.XMLHttpRequest();  
					   xmlhttp.open("GET",xmlFile,false);    
					   xmlhttp.send(null);    
					   xmlDoc = xmlhttp.responseXML;  
				  }    
				  catch(e)    
				  {    
				   error=e.message;    
				   alert(error);  
				  } 
			}  
  		}else{
  			return null;
  		}
  		return xmlDoc;
  	}
	//checkXMLDocObj
	function chechXMLDocObj(xmlFile){
		var xmlDoc=loadXml(xmlFile);
		if(null==xmlDoc){
			alert("浏览器不支持");
			return false;
		}
		return xmlDoc;
	}
		//$
		var $=function(id){
			 return document.getElementById(id); 
		}
		function loadIbookXml(){
		var xmlDoc=chechXMLDocObj("ibook.xml");
		var root=xmlDoc.documentElement;
		//book下的接点
		var x=root.childNodes;
		//	alert(root.getElementsByTagName('book')[0].childNodes);
		var update= (null == root.getElementsByTagName('update')[0])?"":root.getElementsByTagName('update')[0].firstChild.data;
		var name = (null == root.getElementsByTagName('name')[0])?"":root.getElementsByTagName('name')[0].firstChild.data;	
		var title = (null == root.getElementsByTagName('title')[0])?"":root.getElementsByTagName('title')[0].firstChild.data;
		var Keywords = (null == root.getElementsByTagName('Keywords')[0])?"":root.getElementsByTagName('Keywords')[0].firstChild.data;
		var description = (null == root.getElementsByTagName('description')[0])?"":root.getElementsByTagName('description')[0].firstChild.data;	
		var contents_size = (null == root.getElementsByTagName('contents_size')[0])?"":root.getElementsByTagName('contents_size')[0].firstChild.data;		
		var total = (null == root.getElementsByTagName('total')[0])?0:parseInt(root.getElementsByTagName('total')[0].firstChild.data);		
		
		var w=null,h=null;
		/*遍历div接点*/
		for(var i=0 ;i<x.length;i++){
			if("div"==x[i].nodeName){
				//div 接点的子节点
				var d=root.getElementsByTagName('div')[0].childNodes;
				/*得到w,h的值*/
				for(var j=0 ; j<d.length;j++){
					if("w" == d[j].nodeName){
						w = d[j].firstChild.data;	
					}else if("h"==d[j].nodeName){
						h = d[j].firstChild.data;
						break;
					}
				}//for-w,h
			}
		}//for()
		w=(null==w)?1024:w;
		h=(null==h)?768:h;
		
		
		var zoom_s=(null == root.getElementsByTagName('zoom_s')[0]) ? "" : root.getElementsByTagName('zoom_s')[0].firstChild.data;
		var over_zoom=(null==root.getElementsByTagName('over_zoom')[0])?"":root.getElementsByTagName('over_zoom')[0].firstChild.data;
		
		var pagelink_color=(null==root.getElementsByTagName('pagelink_color')[0])?"":root.getElementsByTagName('pagelink_color')[0].firstChild.data;
		var pagelink_highlight=(null==root.getElementsByTagName('pagelink_highlight')[0])?"":root.getElementsByTagName('pagelink_highlight')[0].firstChild.data;
		var pagesearch_color=(null==root.getElementsByTagName('pagesearch_color')[0])?"":root.getElementsByTagName('pagesearch_color')[0].firstChild.data;
		var pagesearch_color_selected=(null==root.getElementsByTagName('pagesearch_color_selected')[0])?"":root.getElementsByTagName('pagesearch_color_selected')[0].firstChild.data;
		var point_scale_w=(null==root.getElementsByTagName('point_scale_w')[0])?"":root.getElementsByTagName('point_scale_w')[0].firstChild.data;
		var point_scale_h=(null==root.getElementsByTagName('point_scale_h')[0])?"":root.getElementsByTagName('point_scale_h')[0].firstChild.data;
	
		/*true false*/
		var toright=(null!=xmlDoc.getElementsByTagName("toright"))? true:false;
		var cover=(null!=xmlDoc.getElementsByTagName("cover"))?true:false;
		var streaming=(null!=xmlDoc.getElementsByTagName("streaming"))?true:false;
		var download=(null!=xmlDoc.getElementsByTagName("download"))?true:false;
		var textonly=(null!=xmlDoc.getElementsByTagName("textonly"))?true:false;
		var search=(null!=xmlDoc.getElementsByTagName("search"))?true:false;
		var pen=(null!=xmlDoc.getElementsByTagName("pen"))?true:false;
		
		document.write("update:"+update+"<br/>"
		+"\n"+"name:"+name	+"<br/>"
		+"\n"+"title:"+title+"<br/>"
		+"\n"+"total:"+total+"<br/>"
		+"\n"+"description:"+description+"<br/>"
		+"\n"+"contents_size:"+contents_size+"<br/>"
		+"\n"+"w:"+w+"<br/>"
		+"\n"+"h:"+h+"<br/>"
		+"\n"+"zoom_s:"+zoom_s+"<br/>"
		+"\n"+"over_zoom:"+over_zoom+"<br/>"
		+"\n"+"pagelink_color:"+pagelink_color+"<br/>"
		+"\n"+"pagelink_highlight:"+pagelink_highlight+"<br/>"
		+"\n"+"pagesearch_color:"+pagesearch_color+"<br/>"
		+"\n"+"pagesearch_color_selected:"+pagesearch_color_selected+"<br/>"
		+"\n"+"toright:"+toright+"<br/>"
		+"\n"+"cover:"+cover+"<br/>"
		+"\n"+"streaming:"+streaming+"<br/>"
		+"\n"+"download:"+download+"<br/>"
		+"\n"+"textonly:"+textonly+"<br/>"
		+"\n"+"search:"+search+"<br/>"
		+"\n"+"pen:"+pen
		);
	}



XML
<?xml version="1.0" encoding="UTF-8"?>
<book>
<update>123456</update>
  <name>asdfghjk</name>
  <title>abm</title>
  <total>45</total>
  <description>abc</description>
  <contents_size>78G</contents_size>
  <toright/>
  <cover/>
  <div>
    <w>789</w>
    <h>659</h>
  </div>
  <zoom_s>1,2</zoom_s>
  <over_zoom>5</over_zoom>
  <pagelink_color>000255255</pagelink_color>
  <pagelink_highlight>2</pagelink_highlight>
  <pagesearch_color>255000255</pagesearch_color>
  <pagesearch_color_selected>255000000</pagesearch_color_selected>
  <point_scale_w>2.4</point_scale_w>
  <point_scale_h>2.1826</point_scale_h>
  <streaming/>
  <download/>
  <textonly/>
  <search/>
  <pen/>
</book>


注:不允许任何形式的转载
分享到:
评论
1 楼 lbsnm 2014-03-05  
var xmlhttp = new window.XMLHttpRequest();   
                   xmlhttp.open("GET",xmlFile,false);     
                   xmlhttp.send(null);     
                   xmlDoc = xmlhttp.responseXML; 
Safari浏览器代码,找了好长时间! 

相关推荐

    纯css-loading兼容Safari ,Chrome,Mozilla Firefox,opera,ie10+

    本文将详细探讨如何创建一个兼容多种浏览器的纯CSS加载动画,包括Safari、Chrome、Mozilla Firefox、Opera以及IE10及以上的版本。 首先,我们需要了解CSS的特性。CSS(Cascading Style Sheets)是一种样式表语言,...

    js操作XML文件(兼容FF,IE)

    - Firefox, Chrome, Safari, Opera等现代浏览器: ```javascript var parser = new DOMParser(); var xml = parser.parseFromString(xmlString, "text/xml"); ``` 2. **XML文档加载和解析**: 加载XML文件后,...

    DOM文档和Javascript的IE和Firefox兼容性

    8. **CSS前缀**:为了实现新的CSS特性,浏览器厂商会添加自己的前缀,如`-webkit-`(Chrome/Safari)、`-moz-`(Firefox)、`-ms-`(IE)和`-o-`(Opera)。开发者需针对这些前缀编写兼容性代码。 9. **Error对象**...

    scrolltotop:适用于Chrome,Firefox,Safari,Opera的Scroll To Top扩展

    Chrome,Firefox,Safari,Opera的浏览器扩展。 | | 下载: 下载 下载 下载 下载 (已淘汰) 有助于: 通过共享此页面来传播信息。 在 , , 画廊上对扩展名进行评分。 通过支持发展。 帮我翻译插件。 ...

    浏览器中操作XML文档[归纳].pdf

    大多数现代浏览器如IE、Firefox、Chrome、Safari和Opera都内置了XML解析器,通常是通过插件或本地实现的方式。这些解析器遵循DOM(Document Object Model)标准,将XML文档转换为一个树形结构,允许开发者通过...

    js读取xml文件并获取文件内容

    // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else { // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } ``` 2. **打开连接**: - 使用...

    css圆角,阴影,支持ie/firefox/chrome等全部浏览器

    对于跨浏览器兼容性,现代浏览器如Firefox、Chrome、Safari和Opera都对CSS3的box-shadow属性提供了良好的支持。然而,IE9及以下版本不支持此属性。为了解决这个问题,可以使用渐进增强的方法,为不支持box-shadow的...

    Mozilla Firefox 支持数据岛(第二版)

    比如,Internet Explorer较早地引入了数据岛功能,但其他浏览器如Chrome、Safari和Opera可能需要依赖额外的库或技术,如jQuery的`.data()`方法或Web Components的模板特性来实现类似的功能。这些浏览器可能不直接...

    firefox附加组件开发者指南

    在初次接触Firefox时,你可能会惊讶于它的界面相对简洁,相较于其他功能丰富的浏览器(例如Opera或Safari),Firefox的设计更加注重用户体验和易用性。 现代网络浏览器的标准特性通常包括: - **标签页浏览**:让...

    使用JS读取XML文件的方法

    如果创建失败,则意味着当前浏览器可能是Firefox或Opera,这时会使用document.implementation.createDocument方法来创建一个DOMParser对象,并通过该对象的parse方法解析XML字符串。 对于Firefox和Opera浏览器,...

    Firefox附加组件开发者指南

    相较于其他功能丰富的浏览器(例如Opera或Safari),Firefox在保持简洁界面的同时,提供了强大的可扩展性。 在当今互联网时代,一个标准的网络浏览器通常需要具备以下特点: - **精细设计的标签控件**:使得用户...

    HTML5笔记1

    浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。浏览器内核是浏览器的核心组件,负责解析和渲染网页内容。 Trident(IE内核)是国内很多...

    mimic.js:JavaScript XML-RPC 客户端支持同步和异步请求

    它与主要浏览器(IE、Firefox、Opera、Safari 和 Chrome)兼容。 如何使用 使用 Mimic 非常简单,你只需要产生一个请求,然后处理响应。 为此,您只需使用两个小对象XmlRpcRequest和XmlRpcResponse 。 同步请求...

    JavaScript快速入门经典 中文

    同时,确保使用符合W3C标准的浏览器进行测试,如Firefox、Chrome、Safari和Opera,有时还需要测试IE以兼容旧版浏览器。 调试工具对于找出和修复代码中的错误至关重要。Firefox的Firebug、Chrome的内置开发者工具、...

    WEB开发 之 AJAX - 创建 XMLHttpRequest 对象.docx

    所有现代浏览器,包括IE7及更高版本、Firefox、Chrome、Safari和Opera,都内置了XMLHttpRequest对象。 #### 创建XMLHttpRequest对象 在JavaScript中创建XMLHttpRequest对象非常简单,一般有两种方式: 1. 对于...

    让火狐、谷歌支持Ajax

    在探讨“让火狐、谷歌支持Ajax”这一主题时,我们首先需要理解Ajax(Asynchronous JavaScript and XML)是什么,以及它为何对现代Web开发如此重要。Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的...

    12JavaScript异步Ajax与json总结.docx

    在所有现代浏览器中,如IE7+、Firefox、Chrome、Safari和Opera,都内置了`XMLHttpRequest`对象。在老版本的IE(IE5和IE6)中,需要使用`ActiveXObject`来创建XMLHttpRequest。以下是一段兼容性检查的代码: ```...

    Ajax的学习资料

    - **对于IE7+、Firefox、Chrome、Safari、Opera等现代浏览器**: ```javascript var xmlhttp = new XMLHttpRequest(); ``` - **对于IE6、IE5等旧版本的Internet Explorer浏览器**: ```javascript var xmlhttp...

    Mimic - JavaScript XML-RPC Client-开源

    Mimic是客户端XML-RPC协议JavaScript实现,与IE,Firefox,Opera,Safari和Chrome兼容。 Mimic能够生成XML-RPC请求并处理XML-RPC响应,从而允许创建WebService客户端。

    JSP预备知识-JavaScript

    2. **跨平台性**:JavaScript独立于操作系统,可以在多种浏览器和操作系统上运行,包括Internet Explorer、Firefox、Chrome、Safari和Opera等。 3. **HTML混合**:JavaScript可以直接写入HTML文件中,用于动态内容...

Global site tag (gtag.js) - Google Analytics