• [总结]客户端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);
    //====================================================//
  • 相关阅读:
    输入一个1-9的数i,再输入一个数字n,表示 i 出现的次数,输入的2个数字 i 和 n 组合成如下表达式:如i=2,n=4,2+22+222+2222=?,计算结果是多少?
    现有数列1/2;2/3;3/5;5/8······第十次出现的是什么?
    猜数游戏:范围时1-100,若错误就提示大了还是小了,猜对则结束,允许猜10次,游戏结束后对玩家评价:1次猜对;5次内猜对;10次内猜对;没有猜对
    登录模拟,用户名和密码输入错误后给出相关错误提示,并告知还有多少次错误机会,如果5次验证失败将冻结账户
    30人围坐轮流表演节目,按顺序数1-3,每次数到3的人就表演节目,表演过的人不再参加报数,那么在仅剩一个人没有表演的时候,共报数多少人次?
    docker 自定义镜像
    php 镜像richarvey/nginx-php-fpm的ngnix配置
    php tp5常用小知识
    php Tp5下mysql的增删改查
    php 面试常问问题
  • 原文地址:https://www.cnblogs.com/goody9807/p/241303.html
Copyright © 2020-2023  润新知