javascript中的XML
IE下创建DOM并载入XML
var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.load(url); //载入XML文件 xmldoc.loadXML(“<root><son/></root>”);//载入XML字符串 xmldoc.documentElement //获取根元素,仅IE支持非IE下创建DOM并载入XML
var xmldoc =document.implementation.createDocument("","",null); xmldoc.async =true; //异步载入 xmldoc.load(url);第一个参数指定文件的命名空间URL,第二个参数用于指定文件元素的标签名,第三个标签用于指定文档类型对象,一般为null
例
var xmldoc =document.implementation.createDocument("http://www.x-do.org","root",null);这行代码创建了表示<rootxmlns="http://www.x-do.org"/>的XML DOM
W3C标准的XML DOM不支持loadXML()方法。要将XML字符串解析为DOM,必须使用DOMParser对象,使用其parseFromString方法传入XML字符串表现形式:
var xmlParser = new DOMParser(); var xmlDom =xmlParser.parseFromString("<root />","text/xml"); //该方法返回一个XMLDOM对象 //第二个参数text/xml也可以是application/xml,两者都用来解析XML //还可以是application/xhtml+xml,用来解析XHTML,只能用这三种MIME与直接解析XML字符串相对应的获取XML字符串的方法,IE中XML DOM对象具有只读的xml属性,而W3C标准则没有相对应的属性,但是提供了可以用于同样的目的的XMLSerializer对象:
var serializer= new XMLSerializer(); var xmlStr =serializer.serializeToString(xmlDom,"text/xml"); //xmlDom为一个XML DOM节点对象 //而text/xml也可为application/xml可以把一个函数绑定到XML文档对象的onload事件(对于W3C兼容的浏览器)或onreadystatechange事件(对于WindowsInternet Explorer)。然后,绑定的函数可以用来处理XML文档的内容。
兼容地创建XML的DOM对象
if (typeof document.implementation.createDocument != "undefined") { xmldoc =document.implementation.createDocument("", "", null); xmldoc.onload = displayData; } else if(window.ActiveXObject) { xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.onreadystatechange = function () { if (docObj.readyState == 4) displayData(); }; } xmldoc.load(url); function displayData(){ }load()方法只可以载入与包含JavaScript的页面存储于同一服务器上的文件,也就是说,不可以通过其他人的服务器载入XML文件
以同步模式载入文件时,JavaScript代码会等待文件完全载入后才继续执行代码;而以异步模式载入时,不会等待,可以使用事件处理函数来判断文件是否完全载入了。默认情况下,文件按照异步模式载入。要进行同步载入,只需设置async特性为false
JS解析XML实例:
<script type="javascript"> var txt="<note>"; txt=txt+"<to>George</to>"; txt=txt+"<from>John</from>"; txt=txt+"<heading>Reminder</heading>"; txt=txt+"<body>Don't forget the meeting!</body>"; txt=txt+"</note>"; if (window.DOMParser) //非IE浏览器 { parser=new DOMParser(); xmlDoc=parser.parseFromString(txt,"text/xml"); } else //IE浏览器 { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(txt); } 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>
javascript中的XML的更多相关文章
- 使用javascript中读取Xml文件做成的一个二级联动菜单
[html] view plaincopy <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ...
- 【译】用jQuery 处理XML--浏览器中的XML与JavaScript
用jQuery 处理XML--写在前面的话 用jQuery 处理XML-- DOM(文本对象模型)简介 用jQuery 处理XML--浏览器中的XML与JavaScript 用jQuery 处理XML ...
- 浏览器中的XML与JavaScript
浏览器中的XML与JavaScript 在处理XML前,你需要在JavaScript中获取它.这一部分展示了一些不同的方法用来在JavaScript中获取XML并且对它进行处理. XML的节点类型 在 ...
- JavaScript 【 IE中的XML DOM 】
IE中的 XML DOM 在统一的正式规范出来以前,浏览器对于XML的解决方案各不相同.DOM2级提出了动态创建XML DOM规范,DOM3进一步增强了XML DOM.所以,在不同的浏览器实现XML的 ...
- javascript快速入门25--浏览器中的XML
打开XML 首先,直接从浏览器中打开XML文件,浏览器会对其进行格式良好性检查,如果不符合XML语法规范则显示出错,如果格式良好,再检查是否包含样式表(CSS或XSL),如果包含样式表,则用样式表格式 ...
- Javascript 操作 Sql中的Xml 字段
在一个项目当中,我们需要把数据库中的Xml字段中的信息表现在页面中,如果用Sql进行操作,读取.这样的话,必然导致太复杂,于是我想到了,如果把Xml字段先读出来,然后用Js去操作,这样岂不是简单了许多 ...
- 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...
- ASP.NET中的XML和JSON
一.DOM简介 1.XML 定义:XML是一种跨语言.跨平台的数据储存格式 2.什么是DOM DOM(document object model)文档对象模型:是一种允许程序或脚本动态的访问更新文档内 ...
- 浅谈JavaScript中的Ajax
引言 作为一名WEB开发者,我想Ajax技术是一定需要掌握的.你也许平时没有使用JavaScript真正的写过Ajax.但是你一定使用过JQuery里面的相关函数来进行异步调用.今天我们就来介绍下原生 ...
随机推荐
- 【LA3938】"Ray, Pass me the dishes!"
原题链接 Description After doing Ray a great favor to collect sticks for Ray, Poor Neal becomes very hun ...
- Codeforces278E Tourists
来自FallDream的博客,未经允许,请勿转载,谢谢. 给定一张无向图,有点权,要支持单点修改点权和询问从一个点到另一个点不重复经过节点的路径上点权最小值的最小值. n,m<=10^5 考虑求 ...
- WINFORM中treeview 节点显示不全
在设置treeview节点时,出现如下显示不全的问题: 这个问题是由于我们在treeview任务中编辑节点时设置的字体大于我们在treeview属性中设置frot字体导致的. 所以只要将treevie ...
- WPF 实现换肤功能
将所有控件的基本样式汇集到一个资源字典中,构成界面的基本样式文件,然后进行不同颜色皮肤的定制. 即在新的皮肤资源字典文件中引入基本样式文件,然后使用资源继承,并且只设置控件的颜色属性等,形成一个皮肤文 ...
- Java8的重要新特性
一.Lambda表达式 java8中Lambda表达式的书写方式: (参数) -> 表达式 (参数) -> 单行语句 (参数) -> { 语句 } 1.Lambda遍历List和Ma ...
- python学习之装饰器-
python的装饰器 2018-02-26 在了解python的装饰器之前我们得了解python的高阶函数 python的高阶函数我们能返回一个函数名并且能将函数名作为参数传递 def outer() ...
- session.save()返回值问题
正常都应该返回插入的主键 但是 如果你用sessionFactory来写就一定返回0 先科普下持久化数据库的三个状态方便下面理解 一次会话状态中,持久化对象经历以下三种状态:1 transient:对 ...
- 读书笔记-《Maven实战》-2018/4/17
第五章 坐标和依赖 1.如同笛卡尔坐标系一样,Maven也通过坐标三元素定位一个资源. <groupId>com.dengchengchao.test</groupId> &l ...
- Zookeeper 快速入门(上)
来源:holynull, blog.leanote.com/post/holynull/Zookeeper 如有好文章投稿,请点击 → 这里了解详情 Zookeeper是Hadoop分布式调度服务,用 ...
- Printer for Me
今天,良心系部终于给我配了打印机^^. 办公室门外还挂了牌子.