js xml 读取 方法

一:读本地xml

<script type="text/javascript">

var xml = new ActiveXObject("Microsoft.XMLDOM");

xml.async = false;

xml.load("../test5/xml/read1.xml");

var xsl = new ActiveXObject("Microsoft.XMLDOM");

xsl.async = false;

xsl.load("../test5/xml/read1.xml");

document.write(xml.transformNode(xsl));

</script>

二:子节点调用方法

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>

var cdsales=new ActiveXObject("Microsoft.XMLDOM"); //创建XmlDom对象

cdsales.async=true; //使用异步加载

LoadSalesDoc()

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);

}

三:节点属性读取方法

var cdsales=new ActiveXObject("Microsoft.XMLDOM"); //创建XmlDom对象

cdsales.async=true; //使用异步加载

var Url="../test5/xml/read2.xml";

cdsales.load(Url);

其它:

1.输出内容:document.write(txt)

   document.close() // close layout stream

2.输出内容到div

<script type="text/javascript">

    var sales=document.getElementById('sales');

    sales.innerHTML="txt";

</script>

<body>

<div id="sales"></div>

</body>

原文地址:https://www.cnblogs.com/sode/p/2183799.html