用javascript操作xml


Posted in Javascript onNovember 04, 2006

文中尽量用上所有的操作和属性,以做示范

<script language="JavaScript">  
<!--  
var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")   
//加载文档  
//doc.load("b.xml");  
//创建文件头  
var p = doc.createProcessingInstruction("xml","version='1.0'  encoding='gb2312'");  
    //添加文件头  
    doc.appendChild(p);  
//用于直接加载时获得根接点  
//var root = doc.documentElement;  
//两种方式创建根接点  
//    var root = doc.createElement("students");  
    var root = doc.createNode(1,"students","");  
    //创建子接点  
    var n = doc.createNode(1,"ttyp","");  
        //指定子接点文本  
        //n.text = " this is a test";  
    //创建孙接点  
    var o = doc.createElement("sex");  
        o.text = "男";    //指定其文本  
    //创建属性  
    var r = doc.createAttribute("id");  
        r.value="test";  
        //添加属性  
        n.setAttributeNode(r);  
    //创建第二个属性      
    var r1 = doc.createAttribute("class");  
        r1.value="tt";  
        //添加属性  
        n.setAttributeNode(r1);  
        //删除第二个属性  
        n.removeAttribute("class");  
        //添加孙接点  
        n.appendChild(o);  
        //添加文本接点  
        n.appendChild(doc.createTextNode("this is a text node."));  
        //添加注释  
        n.appendChild(doc.createComment("this is a comment\n"));  
        //添加子接点  
        root.appendChild(n);  
    //复制接点  
    var m = n.cloneNode(true);  
        root.appendChild(m);  
        //删除接点  
        root.removeChild(root.childNodes(0));  
    //创建数据段  
    var c = doc.createCDATASection("this is a cdata");  
        c.text = "hi,cdata";  
        //添加数据段  
        root.appendChild(c);  
    //添加根接点  
    doc.appendChild(root);  
    //查找接点  
    var a = doc.getElementsByTagName("ttyp");  
    //var a = doc.selectNodes("//ttyp");  
    //显示改接点的属性  
    for(var i= 0;i<a.length;i++)  
    {  
        alert(a[i].xml);  
        for(var j=0;j<a[i].attributes.length;j++)  
        {  
            alert(a[i].attributes[j].name);  
        }  
    }  
    //修改节点,利用XPATH定位节点  
    var b = doc.selectSingleNode("//ttyp/sex");  
    b.text = "女";  
    //alert(doc.xml);  
    //XML保存(需要在服务端,客户端用FSO)  
    //doc.save();  
    //查看根接点XML  
    if(n)  
    {  
        alert(n.ownerDocument.xml);  
    }  
//-->  
</script>
Javascript 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
js 代码优化点滴记录
Feb 19 Javascript
JQuery的$命名冲突详细解析
Dec 28 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 Javascript
Javascript实现单张图片浏览
Dec 18 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
javascript中使用正则表达式清理table样式的代码
Apr 01 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
Aug 04 Javascript
vue实现公告栏文字上下滚动效果的示例代码
Jun 16 Javascript
Node.js中出现未捕获异常的处理方法
Jun 29 Javascript
Vue+Element自定义纵向表格表头教程
Oct 26 Javascript
一个加密JavaScript的开源工具PACKER2.0.2
Nov 04 #Javascript
破除一些网站复制、右键限制
Nov 04 #Javascript
js计数器代码
Nov 04 #Javascript
Js中sort()方法的用法
Nov 04 #Javascript
取得传值的函数
Oct 27 #Javascript
使javascript也能包含文件
Oct 26 #Javascript
利用XMLHTTP传递参数在另一页面执行并刷新本页
Oct 26 #Javascript
You might like
PHP 输出简单动态WAP页面
2009/06/09 PHP
PHP中header和session_start前不能有输出原因分析
2013/01/11 PHP
深入解析PHP的Yii框架中的缓存功能
2016/03/29 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
jquery打开直接跳到网页最下面、最低端实现代码
2013/04/22 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
理解javascript中Map代替循环
2016/02/26 Javascript
JavaScript函数中关于valueOf和toString的理解
2016/06/14 Javascript
详解Node.Js如何处理post数据
2016/09/19 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
JS代码实现电脑配置检测功能
2018/03/21 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
js实现倒计时器自定义时间和暂停
2019/02/25 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python让图片按照exif信息里的创建时间进行排序的方法
2015/03/16 Python
django反向解析和正向解析的方式
2018/06/05 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
在tensorflow中设置保存checkpoint的最大数量实例
2020/01/21 Python
tensorboard显示空白的解决
2020/02/15 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
用HTML5制作视频拼图的教程
2015/05/13 HTML / CSS
请描述一下”is a”关系和”has a”关系
2015/02/03 面试题
连锁经营管理专业大学生求职信
2013/10/30 职场文书
专科文秘应届生求职信
2013/11/18 职场文书
公司晚会主持词
2014/03/22 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
婚宴新娘致辞
2015/07/28 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
java泛型通配符详解
2021/07/25 Java/Android