JS读取XML数据


XMl数据格式如下:

<?xml version="1.0" encoding="gb2312"?>
<root>
<item>
<name>刘亦菲</name>
<url>MingXing/LiuYiFei.htm</url>
<color>7A9D4B</color>
</item>
<item>
<name>蔡依林</name>
<url>MingXing/CaiYiLin.htm</url>
<color>FD0000</color>
</item>
<item>
<name>张娜拉</name>
<url>MingXing/ZhangNaLa.htm</url>
<color>7A9D4B</color>
</item>
<item>
<name>张韶涵</name>
<url>MingXiang/ZhangShaoHan.htm</url>
<color>0000FF</color>
</item>
<item>
<name>张靓颖</name>
<url>MingXing/ZhangLiangYin.htm</url>
<color>7A9D4B</color>
</item>
<item>
<name>李宇春</name>
<url>MingXing/LiYuChun.htm</url>
<color>7A9D4B</color>
</item>
<item>
<name>徐若瑄</name>
<url>MingXing/XuLuXuan.htm</url>
<color>FD0000</color>
</item>
</root>

 

前端JS脚本代码如下:

 

var cdsales=new ActiveXObject("Microsoft.XMLDOM"); //创建XmlDom对象
cdsales.async=true//使用异步加载
cdsales.onreadystatechange=LoadedSales;
function LoadedSales()
{
    var txt="";
    if(cdsales.readyState==4)
    {
        if(cdsales.parseError.errorCode != 0) 
        {
            txt="";
        }
else{
            var bi=cdsales.documentElement.selectNodes("item");
            if(bi!=null&&bi.length>0)
            {
                for(var i=0;i<bi.length;i++)
                {    
                    txt+="<li>·<a href="+bi[i].childNodes[1].text+" style=color:"+bi[i].childNodes[2].text+">"+bi[i].childNodes[0].text+"</a></li>";
                }

            }
else{
                txt="";
            }

        }

    }
else{
        txt="";
    }
    
    sales.innerHTML=txt;
}

function LoadSalesDoc()
{
    var Url="/XML/Hot.xml";
    cdsales.load(Url);

}

JS修改xml文件:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false; //关闭异步加载
xmlDoc.load("/XML/config.xml");  //可以是相对路径,返url为http://localhost:4025/XML/config.xml
//var node = xmlDoc.documentElement.selectNodes("dataPath");
var singleNode = xmlDoc.documentElement.selectSingleNode("dataPath");     
singleNode.text = "newdatabase";
xmlDoc.save("E:\\config.xml");   //不能用相对路径"/XML/config.xml",为什么?

 

//读取xml
<script type="text/javascript" language="javascript">
        var cdsales = new ActiveXObject("Microsoft.XMLDOM"); //创建XmlDom对象
        cdsales.async = true; //使用异步加载
        cdsales.onreadystatechange = LoadedSales;
        function LoadedSales() {
            var txt = "";
            if (cdsales.readyState == 4) {
                if (cdsales.parseError.errorCode != 0) {
                    txt = "";
                } else {
                    var bi = cdsales.documentElement.selectNodes("dataPath");     //item
                    var _path = bi[0].text;
                    document.getElementById("path").innerHTML = "默认目录:" + _path;
                }
            } else {
                txt = "";
            }
            //sales.innerHTML = txt;
        }
        function LoadSalesDoc() {
            //var Url = "/XML/config.xml";       //相对路径OK
            var Url = "E:\\config.xml";
            cdsales.load(Url);
        }
    </script>

<body  οnlοad="LoadSalesDoc()">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值