久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      四種使用dom4j讀取xml文件的方式

      四種使用dom4j讀取xml文件的方式

      以下是四種讀取xml文件的方式,每種都有自己的用處。這是我在寫日志管理器的時(shí)候查找到的。希望能給大家?guī)椭?/p>

      首先我們先給出一個(gè)簡(jiǎn)單的xml文件

      <?xml version="1.0" ?> <ROWDATA>  <ROW>   <C0>1</C0>   <EMPNO>7891</EMPNO>   <ENAME>sdffff</ENAME>   <JOB>job</JOB>   <MGR></MGR>   <HIREDATE>2010-1-1</HIREDATE>   <SAL>5000.00</SAL>   <COMM>1000.00</COMM>   <DEPTNO></DEPTNO> </ROW>  <ROW>   <C0>2</C0>   <EMPNO>7369</EMPNO>   <ENAME>SMITH</ENAME>   <JOB>CLERK</JOB>   <MGR>7902</MGR>   <HIREDATE>1980-12-17</HIREDATE>   <SAL>800.00</SAL>   <COMM></COMM>   <DEPTNO>20</DEPTNO> </ROW>  </ROWDATA>

      第一種:

      /**   * 使用dom4j 中saxreader 獲取Document容器,利用此容器的elementIterator讀取xml文件   */  public static void readXML() throws DocumentException{      SAXReader sr = new SAXReader();//獲取讀取xml的對(duì)象。   Document doc = sr.read("src/com/sinojava/EMP.xml");//得到xml所在位置。然后開始讀取。并將數(shù)據(jù)放入doc中   Element el_root = doc.getRootElement();//向外取數(shù)據(jù),獲取xml的根節(jié)點(diǎn)。   Iterator it = el_root.elementIterator();//從根節(jié)點(diǎn)下依次遍歷,獲取根節(jié)點(diǎn)下所有子節(jié)點(diǎn)      while(it.hasNext()){//遍歷該子節(jié)點(diǎn)        Object o = it.next();//再獲取該子節(jié)點(diǎn)下的子節(jié)點(diǎn)    Element el_row = (Element)o;    String s = el_row.getText();     Iterator it_row = el_row.elementIterator();        while(it_row.hasNext()){//遍歷節(jié)點(diǎn)          Element el_ename = (Element)it_row.next();//獲取該節(jié)點(diǎn)下的所有數(shù)據(jù)。     System.out.println(el_ename.getText());    }    //System.out.println(o);   }     }

      第二種:;

      /**   * 使用elements方法進(jìn)行xml的讀取,相當(dāng)于條件查詢,可以根據(jù)不同的節(jié)點(diǎn),利用for循環(huán)查詢?cè)摴?jié)點(diǎn)下所有的數(shù)據(jù)。   * @throws DocumentException   */  public static void readXML02() throws DocumentException{      SAXReader sr = new SAXReader();//獲取讀取方式   Document doc = sr.read("src/com/sinojava/EMP.xml");//讀取xml文件,并且將數(shù)據(jù)全部存放到Document中   Element root = doc.getRootElement();//獲取根節(jié)點(diǎn)      List list = root.elements("ROW");//根據(jù)根節(jié)點(diǎn),將根節(jié)點(diǎn)下 row中的所有數(shù)據(jù)放到list容器中。   for(Object obj:list){//這種遍歷方式,是jdk1.5以上的版本支持的遍歷方式    Element row = (Element)obj;    List list_row = row.elements("ENAME");//獲取ENAME節(jié)點(diǎn)下所有的內(nèi)容,存入list_row容器中        for(Object objempno:list_row){          Element el_empno = (Element)objempno;          System.out.println(el_empno.getName()+": "+el_empno.getText());//獲取節(jié)點(diǎn)下的數(shù)據(jù)。         }   }  }

      第三種:

      /**   * 使用適配器來(lái)完成xml的讀取。   * @param args   * @throws DocumentException   */  public static void readXML04() throws DocumentException{      SAXReader sr = new SAXReader();   Document doc = sr.read("src/com/sinojava/EMP.xml");      doc.accept(new VisitorSupport() {//使用觀察器的子類,來(lái)完成對(duì)xml文件的讀取。        public void visit(Element el) {//利用觀察期進(jìn)行xml的讀取。          System.out.println(el.getName()+": "+el.getText());     }       });  }

      第四種:

      /**   * 使用selectNodes讀取xml文件   * @param args   * @throws DocumentException   */  public static void readXML05(String elementpath) throws DocumentException{      SAXReader sr = new SAXReader();   Document doc = sr.read("src/com/sinojava/EMP.xml");      List list = doc.selectNodes(elementpath);//使用selectNodes獲取所要查詢xml的節(jié)點(diǎn)。      for(Object obj:list){//遍歷節(jié)點(diǎn),獲取節(jié)點(diǎn)內(nèi)數(shù)據(jù)。        Element el = (Element)obj;    System.out.println(el.getText());   }     }

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)