博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用javascript操作xml
阅读量:6909 次
发布时间:2019-06-27

本文共 1869 字,大约阅读时间需要 6 分钟。

<
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
++
)
ExpandedBlockStart.gif    
{
        alert(a[i].xml);
        for(var j=0;j<a[i].attributes.length;j++)
ExpandedSubBlockStart.gif        {
            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
>
本文转自94cool博客园博客,原文链接http://www.cnblogs.com/94cool/articles/1525750.html,如需转载请自行联系原作者
你可能感兴趣的文章
深度学习500问,我觉得很不错
查看>>
关于nodejs的线程模型可以看这篇文章
查看>>
reactjs弹幕视频播放
查看>>
hdu 1106 排序
查看>>
1D1D动态规划优化
查看>>
洛谷 P2717 寒假作业
查看>>
xampp的安装和配置与HBuilder的配置--博客园老牛大讲堂
查看>>
OpenStack 多节点纳管 vCenter 5.5
查看>>
kafka快速入门
查看>>
1L - ASCII码排序
查看>>
jquery中的append和appendTo用法
查看>>
1172: 零起点学算法79——统计单词个数
查看>>
(转)asp.net页面跳转的三种方法比较
查看>>
CSS之文本
查看>>
结对编程——代码审查
查看>>
poj 2549 Sumsets
查看>>
【HDU 6153】A Secret (KMP)
查看>>
strcpy vs. strcat strncpy vs. strncat
查看>>
docker-compose no such image
查看>>
关于DOM的理解
查看>>