<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    解決之道

    個人日記
    posts - 33, comments - 1, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    [導入]javascript讀取xml

    Posted on 2008-07-31 14:53 閱讀(120) 評論(0)  編輯  收藏
    /**
    ?*?得到XML文件屬性的集合對象
    ?*?
    @param ?xmlDoc?XML對象
    ?*?
    @param ?name?屬性名稱?如:?user
    ?*?
    @return ?返回?Array?對象
    ?*?Example?XML:
    ?*?<?xml?version='1.0'?encoding='utf-8'?>
    ?*?<ekuy>
    ?*???<user>
    ?*?????<name>
    ?*???????<cnname>小豬</cnname>
    ?*?????</name>
    ?*?????<age>27</age>
    ?*???</user>
    ?*???<user>
    ?*?????<name>
    ?*???????<cnname>小霞</cnname>
    ?*?????</name>
    ?*?????<age>26</age>
    ?*???</user>
    ?*?</ekuy>
    ?
    */
    function?getXMLArray(xmlDoc,?name)?{
    ??var?keys?
    = ?name.split( ' . ' );
    ??var?node?
    = ?xmlDoc.documentElement;?????? // ?得到根節點
    ??var?rtn? = ? new ?Array();
    ??var?n?
    = ? 0 ;

    ??
    for (var?i = 0 ;?i < keys.length;?i ++ )?{
    ????var?childs?
    = ?node.childNodes;??????? // ?得到子節點
    ????var?key? = ?keys[i];
    ?
    for (var?k = 0 ;?k < childs.length;?k ++ )?{??????
    ???var?child?
    = ?childs[k];
    ???
    if (child.nodeName? == ?key)?{????? // ?判斷子節點是否符合
    ?? if (i? == ?keys.length - 1 )?{
    ??????????rtn[n]?
    = ?child;
    ????n
    ++ ;
    ??}?
    else ?{
    ????node?
    = ?child;
    ????
    break ;
    ??}
    ???}
    ?}
    ??}


    ??
    return ?rtn;
    }


    /**
    ?*?得到由getXMLArray函數得到對象中的值
    ?*?
    @param ?node?節點對象
    ?*?
    @param ?name?
    ?*?
    @return ?返回?String?
    ?
    */
    function?getValue(node,?name)?{
    ??var?keys?
    = ?name.split( ' . ' );
    ??
    ??
    for (var?i = 0 ;?i < keys.length;?i ++ )?{
    ????var?childs?
    = ?node.childNodes;??????? // ?得到子節點
    ????var?key? = ?keys[i];
    ?
    for (var?k = 0 ;?k < childs.length;?k ++ )?{??????
    ???var?child?
    = ?childs[k];
    ???
    if (child.nodeName? == ?key)?{????? // ?判斷子節點是否符合
    ?? if (child.childNodes.length? == ? 1 )?{?????????
    ????
    // ?如果沒有字節點,返回值
    ???? return ?child.text;
    ??}?
    else ?{?????????????????????????????????
    ????
    // ?還有子節點,繼續分析
    ????node? = ?child;
    ????
    break ;
    ??}
    ???}
    ?}
    ??}


    ??
    return ? "" ;
    }



    // ?測試:


    var?xmlDoc?
    = ? new ?ActiveXObject( " Microsoft.XMLDOM " );
    xmlDoc.async?
    = ? false ;
    xmlDoc.loadXML(
    " <?xml?version='1.0'?encoding='utf-8'?><ekuy><user><name><cnname>小豬</cnname></name><age>27</age></user><user><name><cnname>小霞</cnname></name><age>26</age></user><user><name><cnname>小章</cnname></name><age>25</age></user></ekuy> " );


    var?list?
    = ?getXMLArray(xmlDoc,? ' user ' );
    for (var?i = 0 ;?i < list.length;?i ++ )?{
    ??var?obj?
    = ?list[i];
    ??document.write(getValue(obj,?
    ' name.cnname ' ));
    ??document.write(getValue(obj,?
    ' age ' ));
    ??document.write(
    ' <br\/> ' );
    }


    kelven 2006-12-25 17:12 發表評論

    文章來源:http://www.tkk7.com/zhangrenquan/articles/89946.html

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 一区二区三区观看免费中文视频在线播放 | 亚洲精品乱码久久久久久V| 亚洲一区二区三区国产精品| 美女网站免费福利视频| 日韩免费高清播放器| 成人久久久观看免费毛片| 亚洲国产视频久久| 天堂亚洲国产中文在线| 亚洲第一精品电影网| 亚洲AV午夜成人片| 亚洲第一成年男人的天堂| 国产亚洲精品精华液| 亚洲国产婷婷六月丁香| 亚洲丝袜美腿视频| 噜噜噜亚洲色成人网站∨| 久久久久亚洲AV成人片| 亚洲色图综合网站| 亚洲永久在线观看| 国产成人精品亚洲| 十八禁视频在线观看免费无码无遮挡骂过| 无码免费又爽又高潮喷水的视频| 久青草国产免费观看| 嫩草在线视频www免费观看| 久久国产高潮流白浆免费观看| 精品福利一区二区三区免费视频 | 亚洲jizzjizz在线播放久| 亚洲日韩AV一区二区三区四区| 亚洲av成人片在线观看| 一出一进一爽一粗一大视频免费的 | 97公开免费视频| 国产精品免费_区二区三区观看| 免费无码国产V片在线观看| 亚洲免费网站观看视频| 一区二区3区免费视频| 久久精品免费视频观看| 国语成本人片免费av无码| 亚洲性日韩精品国产一区二区| 亚洲国产精品综合久久久| 亚洲精品美女久久久久久久| 久久精品国产影库免费看| 免费一级毛片清高播放|