java學(xué)習(xí)

          java學(xué)習(xí)

           

          XMLStreamReader光標(biāo)解析xml文件

          public static void test01() {
            XMLInputFactory factory = XMLInputFactory.newInstance();
            InputStream is = null;
            try {
             is = TestStax.class.getClassLoader().getResourceAsStream("books.xml");
             XMLStreamReader reader = factory.createXMLStreamReader(is);
             while(reader.hasNext()) {
                                  //    System.out.println("------------------------------------------------");
              int type = reader.next();
                                           System.out.println("type---"+type);
              //判斷節(jié)點(diǎn)類型是否是開始或者結(jié)束或者文本節(jié)點(diǎn),之后根據(jù)情況及進(jìn)行處理
              if(type==XMLStreamConstants.START_ELEMENT) {//==1,指示事件是一個(gè)開始元素
               System.out.println(reader.getName());
                                                  String name = reader.getName().toString();
                                                  if("book".equals(name)){
                                                       System.out.println(reader.getAttributeName(0)+":"+reader.getAttributeValue(0));
                                                  }else if("title".equals(name)){
                                                       System.out.println(reader.getAttributeName(0)+":"+reader.getAttributeValue(0));
                                                  }
                                                 
                                                  //  System.out.println("==1,指示事件是一個(gè)開始元素");
              } else if(type==XMLStreamConstants.CHARACTERS) {//==4指示事件是一些字符
               System.out.println(reader.getText().trim());
                                              // System.out.println("==4指示事件是一些字符");
              } else if(type==XMLStreamConstants.END_ELEMENT) {//==2,指示事件是一個(gè)結(jié)束元素
               System.out.println("/"+reader.getName());
                                               //  System.out.println("==2,指示事件是一個(gè)結(jié)束元素");
              }
                                          //else if(type==XMLStreamConstants.ATTRIBUTE){
          //                                   int count = reader.getAttributeCount();
          //                                   System.out.println("count========"+count);
          //                                 if(count>0){
          //                                     int i=0;
          //                                     int[] arr = new int[count];
          //                                     while(i<count){
          //                                         arr[i]=i;
          //                                         i++;
          //                                     }
          //                                     for(int a : arr){
          //                                         System.out.println(reader.getAttributeValue(a));
          //                                     }
          //                                 }
          //                                }
             }
            } catch (XMLStreamException e) {
             e.printStackTrace();
            } finally {
             try {
              if(is!=null) is.close();
             } catch (IOException e) {
              e.printStackTrace();
             }
            }
           }

          posted on 2013-08-07 13:51 楊軍威 閱讀(1703) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 镇原县| 屏东市| 绵阳市| 龙泉市| 凤阳县| 都昌县| 博乐市| 北票市| 瑞丽市| 阜城县| 绍兴县| 武夷山市| 芮城县| 大安市| 逊克县| 杭锦旗| 温州市| 临猗县| 南平市| 东港市| 新绛县| 织金县| 祁东县| 汉川市| 乌拉特前旗| 胶南市| 兴安盟| 若羌县| 涪陵区| 涡阳县| 贵定县| 宁化县| 靖远县| 广安市| 万宁市| 永登县| 兴城市| 胶州市| 桐柏县| 木里| 元江|