测试:

demo.xml中的内容:

js文件内容:

window.onload=function(){

    //var v=returnXMLDOM();
//v.loadXML('<root><user>Lee</user></root>');//第一种 加载xml字符
//alert(v.xml);//序列化 打印出xml字符串 //第二种加载方式:加载外部xml文件
var v=returnXMLDOM();//得到创建的对象
v.load('demo.xml');//同一个目录下这样写 不然还需要加上文件的路径
alert(v.xml);//进行序列话 打印字符串 //操作这些xmldom节点 和之前的dom操作方法一样
var node= v.getElementsByTagName("B")[0];
//alert(node.nodeName);//B元素节点 所以nodename属性的值为B
//alert(node.nodeValue);//元素节点的nodevalue属性值为null
//alert(node.nodeType);//nodetype值为1 //现在需要通过B节点得到c节点
var cnode=node.childNodes[0];//得到第一个c节点 也是一个元素节点
alert(cnode.nodeName);//c元素节点 所以nodename属性的值为c
alert(cnode.nodeValue);//元素节点的nodevalue属性值为null
alert(cnode.nodeType);//nodetype值为1
alert(cnode.firstChild.nodeValue);//打印第一个c节点中的文本的值 }
function returnXMLDOM(){
var version=[
'MSXML2.DOMDocument.6.0',
'MSXML2.DOMDocument.3.0',
'MSXML2.DOMDocument' ];
for(var i=0;i<version.length;i++){
try {
var xmlDom = new ActiveXObject(version[i]);//如果没有异常 那么就创建xmldom对象成功 并且返回
return xmlDom;
} catch (e) {
//跳过
}
}
throw new Error("你的浏览器不支持XMLDOM对象");
}

运行结果:

------------------

 使用domxml创建节点 并把添加

    var xmldom=returnXMLDOM();//得到创建的xmldom对象
xmldom.load('demo.xml');//把xml文件加载进来
var rootA=xmldom.documentElement;//通过documentElement方法获取xmldom中的跟标签A
alert(rootA.tagName);//打印节点名称A
//下面完成节点的添加操作 为B节点添加一个兄弟节点E
var E=xmldom.createElement("E");//注意这里不是document对象创建的e节点 而是xmldom对象
E.appendChild(xmldom.createTextNode("这是E节点的子节点"));
//把E节点加入到根节点A中 成为B节点的兄弟节点
rootA.appendChild(E);
alert(xmldom.xml);

---------------------

加载方式,同步和异步:

js代码:

 var xmldom=getXMLDOM();
xmldom.load('demo.xml');//加载的时候有两种模式:同步和异步 默认同步 true
alert(xmldom.xml);
//上面的代码什么都不会打印 主要是采用了异步加载的模式 load还没有加载完毕就去序列化打印字符串 当然没有数据
//下面使用同步方式 即load加载完毕之前是不会执行下面的代码的
xmldom.async=false;
alert(xmldom.xml);//此时可以正常打印出xml文件中的数据 function getXMLDOM(){
var version=[
'MSXML2.DOMDocument.6.0',
'MSXML2.DOMDocument.3.0',
'MSXML2.DOMDocument'
];
for(var i=0;i<version.length;i++){
try{
var xmldom=new ActiveXObject(version[i]);
return xmldom;
}catch (e){
//跳过
}
}
throw new Error("你的浏览器不支持XMLDOM对象");
}

xml代码:

 <A>
<B>
<c>你好1</c>
<c>你好2</c>
</B>
</A>

运行效果:

同步可能会造成浏览器出现假死状态

------------

异步方式:

JavaScript中的XMLDOM对象的更多相关文章

  1. JavaScript中的事件对象

    JavaScript中的事件对象 JavaScript中的事件对象是非常重要的,恐怕是我们在项目中使用的最多的了.在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含这所有与事件有 ...

  2. JavaScript中创建字典对象(dictionary)实例

    这篇文章主要介绍了JavaScript中创建字典对象(dictionary)实例,本文直接给出了实现的源码,并给出了使用示例,需要的朋友可以参考下 对于JavaScript来说,其自身的Array对象 ...

  3. Javascript学习1 - Javascript中的类型对象

    原文:Javascript学习1 - Javascript中的类型对象 1.1关于Numbers对象. 常用的方法:number.toString() 不用具体介绍,把数字转换为字符串,相应的还有一个 ...

  4. 简单使用JSON,JavaScript中创建 JSON 对象(一)

    JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小.更快,更易解析. ...

  5. JavaScript中的window对象

    JavaScript中的window对象:http://www.cnblogs.com/kissdodog/archive/2013/01/01/2841464.html

  6. js:JavaScript中的ActiveXObject对象

    JavaScript中的ActiveXObject对象作用: https://blog.csdn.net/pl1612127/article/details/77862174

  7. 详解javascript中的this对象

    详解javascript中的this对象 前言 Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象.Javascript可以通过一定的 ...

  8. javascript中如何获取对象名

    javascript中如何获取对象名 一.总结 一句话总结:将对象传入参数,看参数是否为函数(js中的对象和函数是一个意思么(函数肯定是对象)),对象参数.name属性即可获得 //版本4 funct ...

  9. JavaScript中的global对象,window对象以及document对象的区别和联系

    JavaScript中的global对象,window对象以及document对象的区别和联系 一.概念区分:JavaScript中的global对象,window对象以及document对象 1.g ...

随机推荐

  1. Scala入门到精通——第一节 Scala语言初步

    本节主要内容 Scala简单介绍 为什么要学习Scala Scala语言初步 1. Scala简单介绍 Scala(Scala Language的简称)语言是一种能够执行于JVM和.Net平台之上的通 ...

  2. 安卓欢迎界面和activity之间的跳转问题

    使用安卓的UI界面,就不得不了解activity,由于actvity就像是一个form表单一样,全部的UI都呈如今这里,他能够承载全部的UI控件. INtent就是一个中继站一样.他负责组件之间的沟通 ...

  3. POJ3090 Visible Lattice Points 欧拉筛

    题目大意:给出范围为(0, 0)到(n, n)的整点,你站在原点处,问有多少个整点可见. 线y=x和坐标轴上的点都被(1,0)(0,1)(1,1)挡住了.除这三个钉子外,如果一个点(x,y)不互质,则 ...

  4. 国内物联网平台初探(三) ——QQ物联·智能硬件开放平台

    平台定位 将QQ帐号体系.好友关系链.QQ消息通道及音视频服务等核心能力提供给可穿戴设备.智能家居.智能车载.传统硬件等领域的合作伙伴,实现用户与设备.设备与设备.设备与服务之间的联动. 实现用户与设 ...

  5. 函数和指针 C++

    一.用函数指针变量调用函数. 指针变量也可以指向一个函数,一个函数在编译时被分配给一个入口地址.这个函数入口地址就称为函数的指针.可以用一个指针变量指向函数,然后通过该指针变量调用此函数. 定义指向函 ...

  6. 转载【H:JL】用大家的力量来总结一个目录(众人拾柴火焰高)

    博客地址:http://www.cnblogs.com/HJL-Blog/p/4459245.html

  7. ettercap + driftnet 实现同网段下流量欺骗

    前言: 由于在局域网中,网关会不断地发送 ARP 数据包询问当前是否有新的客户端上线,如果我们可以欺骗当前局域网网段下的主机, 把我们当成网关地址,并且我们把欺骗的流量转发到真正的网关地址,这样我们就 ...

  8. ps -aux ,ps aux ,ps -ef 的区别

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  9. C# txt文件操作

    //打开文件到流 FileStream fs=new FileStream(path,FileMode.Open,FileAccess.ReadWrite); //写文件流的方法 StreamWrit ...

  10. css3动画简单案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...