zoukankan      html  css  js  c++  java
  • [总结]客户端JavaScript读取Xml文档的例子!

    <SCRIPT language=javascript>

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

    xmlDoc_out.async="false";

    xmlDoc_out.load("<A HREF="Rss.aspx">Rss.aspx</A>");

    maxNum_out = xmlDoc_out.getElementsByTagName("item").length;

    for(i=1;i<maxNum_out;i++) {

    if (i>10) exit(0);

    strLink =xmlDoc_out.getElementsByTagName("link").item(i).text;

    strTitle=xmlDoc_out.getElementsByTagName("title").item(i).text;

    document.write("<a href='" + strLink + "' target=_blank>" + strTitle + "</a><br>");

    }

    </SCRIPT>

    以下是我做的,利用javascript 读取xml的例子,其实同服务器端的一样,也是用DOM方法来进行对xml操作的!

    function LoadOneXml(filename) {
        var xmlDoc_out = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc_out.async="false";
        xmlDoc_out.load("http://localhost/obs/Usercontrol/"+filename);

    //注意这块只能写localhost这样的绝对路径
        if (filename!="1.xml" && filename!="2.xml")
        {
            //getSecField(xmlDoc_out);
            //getItemField(xmlDoc_out);
            //getSubItemField(xmlDoc_out);
      //maxNum_out = xmlDoc_out.getElementsByTagName("Item").length;
      var nodelist=xmlDoc_out.selectNodes("/ICD10Category/SubCategory/Section/Item");
      var maxNum_out=nodelist.length;
      getParentItem(filename);
      var len=IN.length;
      var str="";
      for(var i=0;i<maxNum_out;i++) {
      IN[i+len]=nodelist[i].getAttribute("ItemName");
      INum[i+len]=nodelist[i].getAttribute("ItemNumber");
      IDes[i+len]=nodelist[i].getAttribute("ItemDescription");
      
      IFN[i+len]=nodelist[i].childNodes[0].getAttribute("ItemFieldName");
      //str=str+" "+nodelist[i].childNodes[0].getAttribute("ItemFieldName");
      //if(i==0)
      getSubItem(nodelist[i]);

      }//for 
       // alert(str);
     }
     else
     {
       getField(xmlDoc_out);
     
     }
     
    }



    用 nodelist[i].text来读取 <Node></Node>之间的内容


    项目中的例子

    //------------------------------Display tip--------------------------------------------//
    //=====First Layer====//
    var SN =new Array();//SecName
    var SNum =new Array();//SecNumber
    var SDes =new Array();//SecDescription
    var SFN =new Array();//SecFieldName
    //=====Second Layer====//
    var IN = new Array();//ItemName
    var IFN = new Array();//ItemFieldName
    var INum = new Array();//ItemNumber
    var IDes = new Array();//ItemDescription
    //=====Third Layer====//
    var SIN = new Array();//SubItemName
    var SIFN = new Array();//SubItemFieldName
    var SINum = new Array();//SubItemNumber
    var SIDes = new Array();//SubItemDescription
    var keyctrl=0; //Whether Keydown Ctrl or not//
    function LoadOneXml(filename) {
    var xmlDoc_out = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc_out.async="false";
    xmlDoc_out.load("http://localhost/obs/Usercontrol/"+filename);
    if (filename!="ICD10_GynProcedures.xml" && filename!="ICD10_ObsProcedures.xml")
    {
    //maxNum_out = xmlDoc_out.getElementsByTagName("Item").length;
    var nodelist=xmlDoc_out.selectNodes("/ICD10Category/SubCategory/Section/Item");
    var maxNum_out=nodelist.length;
    getParentItem(filename);
    var len=IN.length;
    var str="";
    for(var i=0;i<maxNum_out;i++) {
    IN[i+len]=nodelist[i].getAttribute("ItemName");
    INum[i+len]=nodelist[i].getAttribute("ItemNumber");
    IDes[i+len]=nodelist[i].getAttribute("ItemDescription");

    IFN[i+len]=nodelist[i].childNodes[0].getAttribute("ItemFieldName");
    //str=str+" "+nodelist[i].childNodes[0].getAttribute("ItemFieldName");
    //if(i==0)
    getSubItem(nodelist[i]);

    }//for
    // alert(str);
    }
    else
    {
    maxNum = xmlDoc_out.getElementsByTagName("SubItem").length;
    var nl=xmlDoc_out.selectNodes("/ICD10ProceduresCategory/SubCategory/Section/Item/SubItem");
    var len=SIN.length ;
    for(var i=0;i<maxNum;i++) {

    if (nl[i].childNodes[0]!=null) {

    SIFN[i+len]=nl[i].childNodes[0].getAttribute("FieldName");
    SIN[i+len]=nl[i].getAttribute("SubItemName");
    SINum[i+len]=nl[i].getAttribute("SubItemNumber");
    SIDes[i+len]=nl[i].getAttribute("SubItemDescription");
    }
    }

    }

    }
    function getParentItem(filename)
    {
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.load("http://localhost/obs/Usercontrol/"+filename);
    var maxNum_out = xmlDoc.getElementsByTagName("Section").length;
    var nl=xmlDoc.selectNodes("/ICD10Category/SubCategory/Section");
    var len=SN.length;

    for(var i=0;i<maxNum_out;i++) {
    SN[i+len]=nl[i].getAttribute("SecName");

    SNum[i+len]=nl[i].getAttribute("SecNumber");
    SDes[i+len]=nl[i].getAttribute("SecDescription");
    SFN[i+len]=nl[i].childNodes[0].getAttribute("SecFieldName")
    }
    //alert(SFN[0]);
    }
    function getSubItem(node)
    {
    var nl=node.childNodes;
    var len=SIN.length;
    var str="";
    //if (nl!=undefined)
    // alert(node.childNodes.length);
    for(var i=1;i<node.childNodes.length;i++) { //step the first //
    //str=str+" "+nl[i].childNodes[0].getAttribute("SubItemFieldName");

    if (nl[i].childNodes[0]!=null)
    {
    SIFN[i+len]=nl[i].childNodes[0].getAttribute("SubItemFieldName");
    SIN[i+len]=nl[i].getAttribute("SubItemName");
    SINum[i+len]=nl[i].getAttribute("SubItemNumber");
    SIDes[i+len]=nl[i].getAttribute("SubItemDescription");
    }

    }
    //alert(str);
    }
    function onkey()
    {
    if (event.ctrlKey)
    {
    keyctrl=1;
    //alert(keyctrl);
    }

    }
    function ICD10tip(obj)
    {
    var strDes="";
    var strNum="";
    var strName="";
    var eid=obj.id; //Current Control ID//

    //if Current Control ID has "s" ,Remove it//
    if (eid.indexOf("s")!=-1)
    eid=eid.substr(1);

    //If not key ctrl then return//
    //onkey();
    //if (keyctrl!=1)
    //return;
    //===========//


    for(var i=0;i<SFN.length;i++) { //tip Section node//
    SFN[i]= SFN[i].replace("_","");

    if (SFN[i]==eid)
    wtc(SDes[i],SNum[i],SN[i]);


    }
    //alert(obj.id);
    for(var i=0;i<IFN.length;i++) {
    IFN[i]= IFN[i].replace("_","");
    if (IFN[i]==eid)
    {

    wtc(IDes[i],INum[i],IN[i]);
    }
    //display child tip info//
    if (SIFN[i]!=null){

    SIFN[i]= SIFN[i].replace("_","");
    if (SIFN[i]==eid)
    wtc(SIDes[i],SINum[i],SIN[i]);

    }


    } //for


    }
    //LoadOneXml("ICD10_Congenital.xml");
    //LoadOneXml("ICD10_Genitourinary.xml");
    //LoadOneXml("ICD10_GynProcedures.xml");
    //LoadOneXml("ICD10_ObsProcedures.xml");
    LoadOneXml("ICD10_Obstetrics.xml");
    //LoadOneXml("ICD10_Perinatal.xml");
    //alert(IN.length);
    //====================================================//
  • 相关阅读:
    利用node搭建本地服务器调试代码
    WCF与WebService的区别
    图解HTTPS
    XMAL语法系列之-(2)---WPF控件继承图
    俩种分页的实现!
    设置二级域名共享一级域名Cookie和删除共享Cookie
    Jquery 操作IFrame
    sql中的常见的全局变量
    sql字段中逗号分隔字符串的判断
    sql sever 字符串函数
  • 原文地址:https://www.cnblogs.com/goody9807/p/241303.html
Copyright © 2011-2022 走看看