javascript-处理XML

 1 /**
 2  * Created by Administrator on 2015/4/4.
 3  */
 4
 5 var XmlUtil=(function () {
 6     var createDocument= function () {
 7         if(typeof arguments.callee.activeXString !=‘string‘){
 8             var versions=[‘MSXML2.DOMDocument.6.0‘,‘MSXML2.DOMDocument.3.0‘,‘MSXML2.DOMDocument‘],
 9                 i,len;
10             for(i=0,len=versions.length;i<len;i++){
11                 try{
12                     new ActiveXObject(versions[i]);
13                     arguments.callee.activeXString=versions[i];
14                     break;
15                 }catch (e){
16                     //跳过
17                 }
18             }
19         }
20         return new ActiveXObject(arguments.callee.activeXString);
21     };
22     return {
23         //把xml字符串序列化成XMLDOM对象
24         parseXML:function(xml){
25             var xmldom=null;
26             if(DOMParser != ‘undefined‘){
27                 var domparser=new DOMParser();
28                 xmldom= domparser.parseFromString(xml,‘text/xml‘);
29                 var errorElment=xmldom.getElementsByTagName(‘parsererror‘);
30                 if(errorElment.length>0){
31                     throw new Error(‘XML PARSER ERROR:‘+errorElment[0].textContent);
32                 }
33             }else if(typeof ActiveXObject != ‘undefined‘){
34                 xmldom=createDocument();
35                 xmldom.loadXML(xml);
36                 if(xmldom.parseError != 0){
37                     throw new Error(‘XML PARSING ERROR:‘+xmldom.parseError.reason);
38                 }
39             }else{
40                 throw new Error(‘NO XML PARSER AVAILABLE‘);
41             }
42             return xmldom;
43         },
44         //把xmldom对象序列话成xml对象
45         serializeXml:function(xmldom){
46             if(typeof  XMLSerializer !=‘undefined‘){
47                 return new XMLSerializer().serializeToString(xmldom);
48             }else if(typeof xmldom.xml !=‘undefined‘){
49                 return xmldom.xml;
50             }else{
51                 throw  new Error(‘Could not serialize xml dom‘);
52             }
53         }
54     }
55
56 }());

用法

1 var xmldom=XmlUtil.parseXML(‘<root><child/></root>‘);
2 console.log(xmldom);
3 console.log(XmlUtil.serializeXml(xmldom));
时间: 2024-10-25 00:50:56

javascript-处理XML的相关文章

原生javascript解析xml文档

之前写过一篇 <javascript/jQuery解析或转换json和xml>链接是http://my.oschina.net/ososchina/blog/343748,这篇博客详细解释了json使用 JSON.js  window.eval() ,jQuery 与字符串互相转换的方法 ,顺便也说了一点jQuery解析xml文档的方法,这里着重论述javascript操作xml. 顺便提一下,今天做项目有一点问题,如何让服务程序接口返回的就是json,而不需要 使用 jQuery.ajax设

JavaScript实现XML与JSON互转代码(转载)

下面来分享一个关于JavaScript实现XML与JSON互转例子,这里面介绍了国外的三款xml转json的例子,希望这些例子能给你带来帮助. 最近在开发在线XML编辑器,打算使用JSON做为中间格式.因为JSON相对于XML,有着容易阅读.解析速度快.占用空间小等优点,更易于在WEB上传递数据.但在实际使用中还是发现了一些易于忽略的细节,对于需要严格保证XML原始结构的情况,在转换成JSON时需要一些注意. XML转换成JSON的格式大概如下: //XML形式 <article> <h

JavaScript解析XML实现省市县三级联动

JavaScript解析XML实现省市县三级联动,简单易用,只需要一个XML和一个js就能能实现,下载后代开HTML就能看到效果.  原文:JavaScript解析XML实现省市县三级联动 源代码下载地址:http://www.zuidaima.com/share/1550463310056448.htm JavaScript解析XML实现省市县三级联动

Ajax_Asynchronous javascript and XML

Ajax 是 Asynchronous javascript and XML(异步的JavaScript与XML技术)的缩写,是由HTML.javascript技术.DHTML和DOM组成. -javascript 代码是运行 Ajax 应用程序的核心代码,帮助改进与服务器应用程序的通信. -DHTML 或 Dynamic HTML,用于动态更新表单.我们将使用 div.span 和其他动态 HTML 元素来标记 HTML. -文档对象模型 DOM 用于(通过 javascript 代码)处理

javascript读取xml文件读取节点数据的例子

分享下用javascript读取xml文件读取节点数据方法. 读取的节点数据,还有一种情况是读取节点属性数据. <head> <title></title> <script type="text/javascript"> var objLength = null; var xmlHttp; var strurl = ""; function ajaxrequst() { if (window.ActiveXObject

使用JavaScript访问XML数据

在本篇文章中,我们将讲述如何在IE中使用ActiveX功能来访问并解析XML文档,由此允许网络冲浪者操纵它们.这一网页将传入并运行脚本的初始化.你一定确保order.xml文档与jsxml.html在相同的相同的路径上.初始化部分将一个新的ActiveX对象例示为MSXML2.DOMDocument.3.0对象类型,然后脚本传入order.xml文档到内存中,并选择所有的/Order/Item节点.我们使用/Order/Item节点以识别文档已经包含的选项.文档中的标准有一个onLoad属性,这

用 javascript 操作 xml

1. [代码]js代码     <script language="JavaScript"><!--var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM") //加载文档//doc.load("b.xml"); //创建文件头var p = doc.createProcessingI

JavaScript操作XML工作记录

JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准编程接口 中立于平台和语言 W3C 的标准 XML DOM 定义了所有XML 元素的对象和属性,以及访问它们的方法(接口).也就是说:XML DOM 是用于查询.添加.修改.删除XML 元素的标准. 在继续之前,我们先来了解一下XML的定义.请看下面的 XML 文件 (books.xml):<?xm

JavaScript操作XML (一)

JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准编程接口 中立于平台和语言 W3C 的标准 XML DOM 定义了所有XML 元素的对象和属性,以及访问它们的方法(接口).也就是说:XML DOM 是用于查询.添加.修改.删除XML 元素的标准. 在继续之前,我们先来了解一下XML的定义.请看下面的 XML 文件 (books.xml):<?xml version="1.0&qu

XSLT学习(九)通过JavaScript转化xml

如果您的浏览器支持 XSLT,那么在浏览器中它可被用来将文档转换为 XHTML. JavaScript 解决方案 在前面的章节,我们已向您讲解如何使用 XSLT 将某个 XML 文档转换为 XHTML.我们是通过以下途径完成这个工作的:向 XML 文件添加 XSL 样式表,并通过浏览器完成转换. 即使这种方法的效果很好,在 XML 文件中包含样式表引用也不总是令人满意的(例如,在无法识别XSLT的浏览器这种方法就无法奏效). 更通用的方法是使用 JavaScript 来完成转换. 通过使用 Ja