XML解析SAX

          public List xmlElements(String xmlDoc) {
                  
          //創建一個新的字符串
                  StringReader read = new StringReader(xmlDoc);
                  
          //創建新的輸入源SAX 解析器將使用 InputSource 對象來確定如何讀取 XML 輸入
                  InputSource source = new InputSource(read);
                  
          //創建一個新的SAXBuilder
                  SAXBuilder sb = new SAXBuilder();
                  List list 
          = new ArrayList();
                  
          try {
                      
          //通過輸入源構造一個Document
                      Document doc = sb.build(source);
                      
          //取的根元素
                      Element root = doc.getRootElement();
                      System.out.println(root.getName());
          //輸出根元素的名稱(測試)
                      
          //得到根元素所有子元素的集合
                      List jiedian = root.getChildren();
                      
          //獲得XML中的命名空間(XML中未定義可不寫)
                      Namespace ns = root.getNamespace();
                      Element et 
          = null;
                      DataModel dataModel 
          = new DataModel();
                      Collections c ;
                      Ctnfee ctnfee 
          = null;
                      
          for(int i=0;i<jiedian.size();i++){
                          et 
          = (Element) jiedian.get(i);//循環依次得到子元素
                          ctnfee = new Ctnfee();
                          
          /**//*
                           * 無命名空間定義時
                           * et.getChild("users_id").getText();
                           * et.getChild("users_address",ns).getText()
                           
          */

                          
          /*System.out.println(et.getChild("users_id",ns).getText());
                          System.out.println(et.getChild("users_address",ns).getText());
          */

                          System.out.println(et.getChild(
          "p_id",ns).getText());
                          System.out.println(et.getChild(
          "ctnno",ns).getText());
                          ctnfee.setP_id(et.getChild(
          "p_id",ns).getText());
                          ctnfee.setCtnno(et.getChild(
          "ctnno",ns).getText());
                          ctnfee.setFee_type(et.getChild(
          "fee_type",ns).getText());
                          ctnfee.setStart_time(et.getChild(
          "start_time",ns).getText());
                          ctnfee.setEnd_time(et.getChild(
          "end_time",ns).getText());
                          ctnfee.setFee(Double.parseDouble(et.getChild(
          "fee",ns).getText()));
                          ctnfee.setFee_count(Double.parseDouble(et.getChild(
          "fee_count",ns).getText()));
                          ctnfee.setCpid(et.getChild(
          "cpid",ns).getText());
                          ctnfee.setFee_name(et.getChild(
          "fee_name",ns).getText());
                          ctnfee.setFee_rate_id(Double.parseDouble(et.getChild(
          "fee_rate_id",ns).getText()));
                          ctnfee.setJffs(et.getChild(
          "jffs",ns).getText());
                          ctnfee.setIf_hand(et.getChild(
          "if_hand",ns).getText());
                          ctnfee.setSfid(et.getChild(
          "sfid",ns).getText());
                          ctnfee.setWt_company(et.getChild(
          "wt_company",ns).getText());
                          ctnfee.setOpid(et.getChild(
          "opid",ns).getText());
                          ctnfee.setCy(et.getChild(
          "cy",ns).getText());
                          ctnfee.setIf_bf(et.getChild(
          "if_bf",ns).getText());
                          ctnfee.setDays_count(et.getChild(
          "days_count",ns).getText());
                          ctnfee.setIf_collect(Double.parseDouble(et.getChild(
          "if_collect",ns).getText()));
                          ctnfee.setIf_dd(et.getChild(
          "if_dd",ns).getText());
                          ctnfee.setDd_fee_name(et.getChild(
          "dd_fee_name",ns).getText());
                          ctnfee.setSpec_sign(et.getChild(
          "spec_sign",ns).getText());
                          
                          list.add(ctnfee);
                          counttotal 
          = counttotal +Double.parseDouble(et.getChild("fee_count",ns).getText());
                      }

                      
          /**//*
                       * 如要取<row>下的子元素的名稱
                       
          */

                      et 
          = (Element) jiedian.get(0);
                      List zjiedian 
          = et.getChildren();
                      
          for(int j=0;j<zjiedian.size();j++){
                          Element xet 
          = (Element) zjiedian.get(j);
                          System.out.println(xet.getName());
                      }

                  }
           catch (JDOMException e) {
                      
          // TODO 自動生成 catch 塊
                      e.printStackTrace();
                  }
           catch (IOException e) {
                      
          // TODO 自動生成 catch 塊
                      e.printStackTrace();
                  }

                  
          return list;
              }

          posted on 2013-07-10 15:03 youngturk 閱讀(319) 評論(0)  編輯  收藏 所屬分類: Java基礎幾種文檔解析web.xml解析

          <2013年7月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          導航

          統計

          公告

          this year :
          1 jQuery
          2 freemarker
          3 框架結構
          4 口語英語

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          EJB學習

          Flex學習

          learn English

          oracle

          spring MVC web service

          SQL

          Struts

          生活保健

          解析文件

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 克山县| 诸暨市| 宁陵县| 高雄县| 华池县| 永丰县| 咸阳市| 冀州市| 思茅市| 成都市| 宝鸡市| 凤冈县| 左贡县| 西宁市| 井陉县| 西盟| 读书| 清原| 牟定县| 江津市| 桐城市| 新疆| 湄潭县| 安阳县| 东乌珠穆沁旗| 古蔺县| 修水县| 普定县| 依兰县| 南木林县| 绥棱县| 电白县| 肇源县| 安福县| 安岳县| 新晃| 孟连| 喀什市| 临洮县| 长白| 油尖旺区|