zoukankan      html  css  js  c++  java
  • 用JavaScript操作XML

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

    <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>
  • 相关阅读:
    Mac OS Git 安装
    Android Studio Emulator 提示 “/dev/kvm is not found” 解决办法
    Intel haxm安装失败问题解决
    清空git缓存
    Android Studio使用过程中Java类突然报红,但项目可运行解决方案
    Nice Messager隐私权政策
    Android应用内 代码截屏(获取View快照)和 禁止截屏
    Android Studio生成APK自动追加版本号、自定义apk名称、指定签名证书文件
    Task-based Asynchronous Operation in WCF z
    task可声明参数 z
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/924820.html
Copyright © 2011-2022 走看看