javascript操作Xml增删改查(IE下)

01.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
02.<html xmlns="http://www.w3.org/1999/xhtml" > 
03.<head> 
04.    <title>js操作Xml增删改查(IE下)</title> 
05.    <mce:script type="text/javascript"><!--  
06.    /*等解决的问题:  
07.      1.xpath到底是定位到哪一层,怎样定位到比如root这一级还是person或name这一级.  
08.    */  
09.    var xmlDoc;  
10.    var rootNode; //根结点  
11.    //装载Xml文档  
12.    function loadXml(){  
13.        try{  
14.            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");  
15.            xmlDoc.async=false;//关闭异步加载  
16.            xmlDoc.load("XmlFile.xml");//load是从文件,loadXML是从字符串.  
17.            rootNode = xmlDoc.documentElement;  
18.        }catch(e) {alert(e.message)}  
19.    }  
20.    //显示内存中的Xml文档  
21.    function outXml(){  
22.        var divXml=document.getElementById("divXml");  
23.        divXml.innerHTML=xmlDoc.xml;//显示xml内容,技巧是加个xml后缀.?  
24.        alert(xmlDoc.xml);  
25.    }  
26.    //增  
27.    function addXml(){  
28.        //叶子结点,设置text值  
29.        var newName = xmlDoc.createElement("name");   
30.        newName.text = "crane";  
31.        var newGender = xmlDoc.createElement("gender");   
32.        newGender.text = "female";  
33.        //父级结点,用appendChild(childNode);  
34.        var newPerson = xmlDoc.createElement("person");   
35.        //设置属性id  
36.        newPerson.setAttribute("id","2");  
37.        newPerson.appendChild(newName);  
38.        newPerson.appendChild(newGender);  
39.        //增加到根结点  
40.        rootNode.appendChild(newPerson);  
41.        alert(xmlDoc.xml);  
42.    }  
43.    //删  
44.    function deleteXml(){  
45.        //先找到结点  
46.        var singleNode = xmlDoc.selectSingleNode("/root/person[name='tree']");  
47.        //找到父级再删除  
48.        singleNode.parentNode.removeChild(singleNode);   
49.        alert(xmlDoc.xml);  
50.    }  
51.    //改  
52.    function updateXml(){  
53.        var singleNode = xmlDoc.selectSingleNode("/root/person[name='crane']");  
54.        singleNode.childNodes[0].text = "updated";  
55.        alert(xmlDoc.xml);  
56.    }  
57.    //查  
58.    function queryXml(){  
59.        //alert(rootNode.nodeName);//节点名  
60.        //alert(rootNode.text);//节点里的全部内容  
61.        //xPath选择节点数组  
62.        //var nodes = xmlDoc.selectNodes("/root/person");  
63.        //alert(nodes[0].text);  
64.        //选择单个节点  
65.        /*总结  
66.          1."/root/person[name='tree']"等同于"/root[person/name='tree']"即找出来的是person结点  
67.        */  
68.        var singleNode = xmlDoc.selectSingleNode("/root/person[gender='female']");//这里的值需要加引号  
69.        alert(singleNode.text);  
70.        alert(singleNode.getAttribute("id"));  
71.        //测试xpath定位  
72.        var sglNode = xmlDoc.selectSingleNode("/root[person/gender='male']");//这里定位不明确.再研究.  
73.        alert(sglNode.text);  
74.        //显示全部xml文档  
75.        //alert(xmlDoc.xml);  
76.    }  
77.      
78.// --></mce:script> 
79.</head> 
80.<body> 
81.<div id="divXml"></div> 
82.<input type="button" value="load" οnclick="loadXml();" /> 
83.<input type="button" value="show" οnclick="outXml();" /> 
84.<input type="button" value="add" οnclick="addXml();" /> 
85.<input type="button" value="delete" οnclick="deleteXml();" /> 
86.<input type="button" value="update" οnclick="updateXml();" /> 
87.<input type="button" value="query" οnclick="queryXml();" /> 
88.</body> 
89.</html> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>js操作Xml增删改查(IE下)</title>
    <mce:script type="text/javascript"><!--
    /*等解决的问题:
      1.xpath到底是定位到哪一层,怎样定位到比如root这一级还是person或name这一级.
    */
    var xmlDoc;
    var rootNode; //根结点
    //装载Xml文档
    function loadXml(){
        try{
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async=false;//关闭异步加载
            xmlDoc.load("XmlFile.xml");//load是从文件,loadXML是从字符串.
            rootNode = xmlDoc.documentElement;
        }catch(e) {alert(e.message)}
    }
    //显示内存中的Xml文档
    function outXml(){
        var divXml=document.getElementById("divXml");
        divXml.innerHTML=xmlDoc.xml;//显示xml内容,技巧是加个xml后缀.?
        alert(xmlDoc.xml);
    }
    //增
    function addXml(){
        //叶子结点,设置text值
        var newName = xmlDoc.createElement("name");
        newName.text = "crane";
        var newGender = xmlDoc.createElement("gender");
        newGender.text = "female";
        //父级结点,用appendChild(childNode);
        var newPerson = xmlDoc.createElement("person");
        //设置属性id
        newPerson.setAttribute("id","2");
        newPerson.appendChild(newName);
        newPerson.appendChild(newGender);
        //增加到根结点
        rootNode.appendChild(newPerson);
        alert(xmlDoc.xml);
    }
    //删
    function deleteXml(){
        //先找到结点
        var singleNode = xmlDoc.selectSingleNode("/root/person[name='tree']");
        //找到父级再删除
        singleNode.parentNode.removeChild(singleNode);
        alert(xmlDoc.xml);
    }
    //改
    function updateXml(){
        var singleNode = xmlDoc.selectSingleNode("/root/person[name='crane']");
        singleNode.childNodes[0].text = "updated";
        alert(xmlDoc.xml);
    }
    //查
    function queryXml(){
        //alert(rootNode.nodeName);//节点名
        //alert(rootNode.text);//节点里的全部内容
        //xPath选择节点数组
        //var nodes = xmlDoc.selectNodes("/root/person");
        //alert(nodes[0].text);
        //选择单个节点
        /*总结
          1."/root/person[name='tree']"等同于"/root[person/name='tree']"即找出来的是person结点
        */
        var singleNode = xmlDoc.selectSingleNode("/root/person[gender='female']");//这里的值需要加引号
        alert(singleNode.text);
        alert(singleNode.getAttribute("id"));
        //测试xpath定位
        var sglNode = xmlDoc.selectSingleNode("/root[person/gender='male']");//这里定位不明确.再研究.
        alert(sglNode.text);
        //alert(xmlDoc.xml);
    }
   
// --></mce:script>
</head>
<body>
<div id="divXml"></div>
<input type="button" value="load" οnclick="loadXml();" />
<input type="button" value="show" οnclick="outXml();" />
<input type="button" value="add" οnclick="addXml();" />
<input type="button" value="delete" οnclick="deleteXml();" />
<input type="button" value="update" οnclick="updateXml();" />
<input type="button" value="query" οnclick="queryXml();" />
</body>
</html>
 Xml文件:
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="utf-8" ?> 
02.<root> 
03.  <person id="1"> 
04.    <name>tree</name> 
05.    <gender>male</gender> 
06.  </person> 
07.</root> 

微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码
微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码 微信小程序毕业设计期末大作业项目源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值