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> & ...
随机推荐
- lnode满,维护记录
df 17% 正常 df -i 100% inode耗尽. | uniq -c 查出占用lnode最大的目录是 /var/spool/exim4/input 居然有15W多个小文件 exim4是邮件 ...
- Git之VS2010实践
对于我们经常在VS2010下编程的开发人员来说,强大的SCM工具Git貌似对我们很陌生.对于Git,我在我的另一篇博客<Git学习笔记>中已做过介绍,下面我再简单介绍一下Git在VS201 ...
- 初识nginx
先来一波官方站点关于nginx介绍.nginx相关历史这里不再赘述啦. nginx 是免费,开源,高性能 HTTP 服务器和反向代理服务器,也可作为IMAP/POP3代理服务器.nginx以它的高 ...
- 近期微博吐槽言论存档,涉及“性能优化”、C++陋习等
写C++程序的几个陋习:class 名以大写 C 开头,例如 CDate:成员变量以 m_ 开头:变量采用匈牙利命名法:不知道何时禁用 copy-ctor/assign operator.前三个可能是 ...
- Tp field 字段是可以添加函数的
$info = M('Order')->alias('a') ->field('count(DISTINCT(a.order_user_id)) as buy_user_num,count ...
- windowsphone 的IsolatedStorageSettings存储类型
IsolatedStorageSettings 存储自定义的对象时关闭程序之后是不会被保存的 只能存储基本类型
- iOS emoji表情转码 或者判断
如果项目中有评论或者信息恢复的地方,往往会用到emoji,有时候如后台不支持emoji,就会显示乱码错误,我们可以把emoji转成unicode编码或者utf8编码格式传给服务器.当然如果后台服务器接 ...
- [C#基础]ref和out的使用
在C#中如果需要把值类型转换成引用类型传递其他方法中并使其原来值发生改变,使用 ref 和 out 转换成引用类型传递. 1. ref : 使用ref之前需要定义变量并初始化(必须初始) class ...
- javaweb中实现在线人数统计
session并不是浏览器关闭时销毁的,而是在session失效的时候销毁下列代码就是监测session创建.销毁 package com.my.count; import javax.servlet ...
- Linux cp一个文件夹时提示cp: omitting directory `test/'
将一个文件夹test 复制到地址/opt/tmp下,提示出错: cp: omitting directory `test/' 原因: test 目录下还有目录,不能直接进行拷贝. 我们先找下cp 的命 ...