javascript Xml兼容性随笔
一、前言
(function (window) {
if (!window.jasen) {
window.jasen = {};
}
if (!window.jasen.core) {
window.jasen.core = {};
}
//------------------------------------------------
// XML operation below.
//------------------------------------------------
if (!window.jasen.core.Xml) {
window.jasen.core.Xml = {};
}
if (typeof jasen.core.Xml != "object") {
throw new Error("Invalid entity jasen.core.Xml!");
}
function createXmlDocument() {
//IE
if (window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLDOM");
}
//W3C
else if (document.implementation && document.implementation.createDocument) {
return document.implementation.createDocument('', '', null);
}
throw new Error("Xml is not supported by your brower!");
}
function loadXmlFile(xmlFile) {
var xmlDocument = createXmlDocument();
xmlDocument.async = false;
xmlDocument.load(xmlFile);
return xmlDocument;
}
function loadXmlText(xmlText) {
// IE Must be tested first
if (window.ActiveXObject) {
var xmlDocument = new ActiveXObject("Microsoft.XMLDOM");
xmlDocument.async = false;
xmlDocument.loadXML(xmlText);
return xmlDocument;
}
// W3C
else if(window.DOMParser) {
return (new DOMParser()).parseFromString(xmlText, "text/xml");
}
throw new Error("Xml is not supported by your brower!");
}
var Xml = window.Xml = window.jasen.core.Xml;
Xml.createDocument = createXmlDocument;
Xml.loadFile = loadXmlFile;
Xml.loadText = loadXmlText;
})(window);
二、范例
<script language="javascript" type="text/javascript">
function testXml() {
var xmlDoc = Xml.loadFile("/Xml/House.xml");
var xmlDocElement = xmlDoc.documentElement;
var nodes = xmlDocElement.getElementsByTagName("city");
var currNode = null; for (var i = 0; i < nodes.length; i++) {
currNode = nodes[i]
} var xmlText = "<address><city name='北京'><price>150万</price><type>一室三居</type></city></address>";
xmlDocElement = Xml.loadText(xmlText); var cityName = xmlDocElement.selectSingleNode("address/city/@name").nodeValue;
var price = xmlDocElement.selectSingleNode("address/city/price/text()").nodeValue;
}
</script>
javascript Xml兼容性随笔的更多相关文章
- javascript opacity兼容性随笔
一.CSS兼容代码 .transparent { filter:alpha(opacity=50); /* IE */ -moz-opacity:0.5; /* FireFox old version ...
- javascript event兼容性随笔
一.前言 function ConvertEvent(e, element) { var event = e || window.event; var resultEvent = { event: e ...
- javascript position兼容性随笔
一.Javascript源码 if (!window.jasen.core.Position) { window.jasen.core.Position = {}; } function Size(w ...
- 《高性能javascript》 领悟随笔之-------DOM编程篇(二)
<高性能javascript> 领悟随笔之-------DOM编程篇二 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...
- 《高性能javascript》 领悟随笔之-------DOM编程篇
<高性能javascript> 领悟随笔之-------DOM编程篇一 序:在javaSctipt中,ECMASCRIPT规定了它的语法,BOM实现了页面与浏览器的交互,而DOM则承载着整 ...
- 转 创建 JavaScript XML 文档注释
http://www.cnblogs.com/chenxizhang/archive/2009/07/12/1522058.html 如何:创建 JavaScript XML 文档注释 Visual ...
- JavaScript & XML
原文:JavaScript & XML 检测浏览器能力特性 //检测浏览器是否支持DOM2级XML var hasXmlDom = document.implementation.hasFea ...
- JAVASCRIPT 浏览器兼容性问题及解决方案列表
JAVASCRIPT 浏览器兼容性问题及解决方案列表(1)获取HTML元素只兼容IE:document.all.hello hello 兼容所有: document.getElementById(“h ...
- JavaScript 事件兼容性写法
1.以下是JavaScript事件兼容性写法,使用者可以随意使用,兼容所有浏览器.包括IE6(亲测) <!DOCTYPE html> <html> <head> & ...
随机推荐
- Jquery div展开收缩
<html> <meta http-equiv="Content-Type" content="text/html; charset=gb2312&qu ...
- Asp.Net MVC4入门指南(8):给数据模型添加校验器
在本节中将会给Movie模型添加验证逻辑.并且确保这些验证规则在用户创建或编辑电影时被执行. 保持事情 DRY ASP.NET MVC 的核心设计信条之一是DRY: "不要重复自己(Don’ ...
- URAL 1992 CVS 可持久化链栈
http://www.cnblogs.com/tedzhao/archive/2008/11/12/1332112.html 看这篇的链表部分的介绍应该就能理解“可持久化”了 动态分配内存的会T,只能 ...
- 字符串对象-String
新建字符串对象 ① 直接赋值 ② 构造函数 ③ 转换函数 1 length 字符串对象属性 2 match() null 跟php中的preg_matc ...
- EM最大期望化算法
最大期望算法(Expectation-maximization algorithm,又译期望最大化算法)在统计中被用于寻找,依赖于不可观察的隐性变量的概率模型中,参数的最大似然估计. 在统计计算中,最 ...
- app之间的跳转,进入二级界面
功能实现:A跳到B并打开B中指定页面.http://blog.csdn.net/dollyyang/article/details/50325307 点击页面判断是否安装app并打开,否则跳转app ...
- js高阶函数
我是一个对js还不是很精通的选手: 关于高阶函数详细的解释 一个高阶函数需要满足的条件(任选其一即可) 1:函数可以作为参数被传递 2:函数可以作为返回值输出 吧函数作为参数传递,这代表我们可以抽离一 ...
- 浅入了解GCD 并发 并行 同步 异步 多线程
什么是 GCD?! GCD就是一个函数库(废话) 用来压榨系统的资源,解决多线程处理中一些问题的库(知道这个就够了,很多电影角色都是因为知道太多死得很惨!!!!!) 1.并发与并行 Concurre ...
- jsp去掉小数点
<fmt:formatNumber value="${zyUser.user_gold}" pattern="0"/>
- RestSharp简单扩展
using RestSharp; using RestSharp.Deserializers; using RestSharp.Serializers; using System; using Sys ...