<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://m.tkk7.com/zhangrenquan/articles/89946.html

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


    網站導航:
     
    主站蜘蛛池模板: 666精品国产精品亚洲| 亚洲色精品88色婷婷七月丁香| 911精品国产亚洲日本美国韩国 | 国产精品视频全国免费观看| 亚洲国产精品一区二区第四页| 免费一级毛suv好看的国产网站| 日韩免费观看视频| 亚洲AV网一区二区三区 | 搡女人真爽免费视频大全| 亚洲精品伊人久久久久| 成年女性特黄午夜视频免费看| 亚洲熟女精品中文字幕| 国产成人3p视频免费观看| 四虎国产精品永免费| 国产成人A亚洲精V品无码| 久久一本岛在免费线观看2020| 4444亚洲国产成人精品| 免费可以在线看A∨网站| WWW国产亚洲精品久久麻豆| 国产午夜亚洲精品理论片不卡| 国产精品白浆在线观看免费| 亚洲中文久久精品无码1| 成人免费视频小说| 十八禁的黄污污免费网站| 精品久久久久久亚洲| 99无码人妻一区二区三区免费 | 妞干网免费视频在线观看| 无码一区二区三区亚洲人妻| 亚洲精品无码高潮喷水在线| 30岁的女人韩剧免费观看| 亚洲av无码专区在线电影| 国产亚洲?V无码?V男人的天堂 | 中文字幕亚洲男人的天堂网络 | 精品无码一区二区三区亚洲桃色| 免费无码AV片在线观看软件| 一级成人毛片免费观看| 91亚洲国产在人线播放午夜| 又爽又高潮的BB视频免费看| 120秒男女动态视频免费| 深夜特黄a级毛片免费播放| 精品亚洲A∨无码一区二区三区|