利用js读取xml文件

岳良策
2023-12-01

JS读取XML文件

XML文件:

<?xml version="1.0" encoding="utf-8" ?>
<CATALOG>
  <CD>
  <TITLE>这是标题1</TITLE>
  <DATA>这是数据1</DATA>
</CD>
<CD>
  <TITLE>这是标题2</TITLE>
  <DATA>这是数据2</DATA>
</CD>
<CD>
  <TITLE>这是标题3</TITLE>
  <DATA>这是数据3</DATA>
</CD>
</CATALOG>

JS代码:

<script>
    //创建XML文件对象
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        //XMLHttpRequest 对象用于在后台与服务器交换数据。
        xmlhttp = new XMLHttpRequest();
    }
    else {
        // code for IE6, IE5
        // ActiveXObject 对象构造函数来启动应用程序
        //Xmlhttp是一种浏览器对象, 可用于模拟http的GET和POST请求。
        //配合JavaScript可以实现页面数据在无刷新下的定时数据更新。

        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    //发送一个http请求 (打开xml文件)
    //用open可以指定get,post 
    /*第一个参数是请求方式,
     * 第二个参数是文件地址,
     * 第三个参数为是否为异步(默认为true(是) / false(否) )*/
    xmlhttp.open("GET", "/Files/XMLFile.xml", false);

    /*使用Ajax提交的参数多是些简单的字符串,
     * 可以直接使用GET方法将要提交的参数写到open方法的url参数中,
     * 此时send方法的参数为null。*/
    xmlhttp.send();
    //属性返回 XML 文档对象
    xmlDoc = xmlhttp.responseXML;
    //得到标签
    var x = xmlDoc.getElementsByTagName("CD");
    //拼接成html
    document.write("<table border='1'>");
    for (i = 0; i < x.length; i++)
    {
        document.write("<tr><td>");
        document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue);
        document.write("</td><td>");
        document.write(x[i].getElementsByTagName("DATA")[0].childNodes[0].nodeValue);
        document.write("</td></tr>");
    }
    document.write("</table>");
</script>

本人也是初学者,大家若发现有什么不对的地方还请留言指正

 类似资料: