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里面的相关函数来进行异步调用.今天我们就来介绍下原生 ...
随机推荐
- NOIP2014-5-17模拟赛
Problem 1 双色球(ball.cpp/c/pas) [题目描述] 机房来了新一届的学弟学妹,邪恶的chenzeyu97发现一位学弟与他同名,于是他当起了善良的学长233 "来来来,学 ...
- HDU2108和HDU2036(叉乘)
hdu2108 判断是否为凸边形 判断连续三点的叉乘 若为凸,内角<180:若为凹,内角>180 所以通过正负来判断 #include <iostream> #include ...
- 2015 多校联赛 ——HDU5335(Walk out)
Walk Out Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total S ...
- 读书笔记-《Maven实战》-2018/4/16
第一章:Maven简介 1:Maven:Maven原本的单词意思为"知识的积累",谷歌翻译为"行家",而作为Apache的开源项目,Maven是一个主要服务于基 ...
- 什么样的简历受HR青睐?
简历是我们在求职过程中的名片,那么如何写出更容易受到HR青睐的简历呢? HR可能一天要看上百份的简历,他们都希望能够尽快筛选出合适的人,然后用更多的时间去跟候选人沟通.所以招聘人员一般看一份简历只会花 ...
- DotnetSpider (一) 架构的理解、应用、搭建
第一次写博客,比较浅显,欢迎大牛们指点一二,不胜感激. ** 温馨提示:如需转载本文,请注明内容出处.** 本文连接:http://www.cnblogs.com/grom/p/8931650 ...
- JavaScript 注释
JavaScript 注释可用于提高代码的可读性. JavaScript 注释 JavaScript 不会执行注释. 我们可以添加注释来对 JavaScript 进行解释,或者提高代码的可读性. 单行 ...
- Docker仓库
仓库是集中存放镜像文件的场所.有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分.实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(t ...
- OC基础之推荐一个旋转木马(跑马灯)效果的图片展示Demo
这个旋转木马(跑马灯)效果的图片展示Demo,包括设定旋转方向,图片倒影,背景设置,旋转速度,开始结束,点击显示选中的图片,彩色的块展示等等功能 效果图:(源码下载:https://github.co ...
- Android签名与权限的安全问题(3)
签名和权限的作用 Android签名中使用到的一些加密技术有: 公/私钥, SHA1(CERT.SF,MANIFEST.MF), RSA(CERT.RSA), 消息摘要, 移动平台中的主流签名作用: ...