用javascript操作xml

(编辑:jimmy 日期: 2024/10/8 浏览:2)

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

复制代码 代码如下:<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>

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?