java學習

          java學習

           

          XMLEventReader的基于Filter的過濾方式解析xml文件

          public static void test05() {
            XMLInputFactory factory = XMLInputFactory.newInstance();
            InputStream is = null;
            try {
             is = TestStax.class.getClassLoader().getResourceAsStream("books.xml");
             //基于Filter的過濾方式,可以有效的過濾掉不用進行操作的節點,效率會高一些
             XMLEventReader reader = factory.createFilteredReader(factory.createXMLEventReader(is),
               new EventFilter() {
                @Override
                public boolean accept(XMLEvent event) {
                 //返回true表示會顯示,返回false表示不顯示
                 if(event.isStartElement()) {
                  String name = event.asStartElement().getName().toString();
                  if(name.equals("title")||name.equals("price"))
                   return true;
                 }
                 return false;
                }
               });
             int num = 0;
             while(reader.hasNext()) {
              //通過XMLEvent來獲取是否是某種節點類型
              XMLEvent event = reader.nextEvent();
              if(event.isStartElement()) {
               //通過event.asxxx轉換節點
               String name = event.asStartElement().getName().toString();
               if(name.equals("title")) {
                System.out.print(reader.getElementText()+":");
               }
               if(name.equals("price")) {
                System.out.print(reader.getElementText()+"\n");
               }
              }
              num++;
             }
             System.out.println(num);
            } catch (XMLStreamException e) {
             e.printStackTrace();
            } finally {
             try {
              if(is!=null) is.close();
             } catch (IOException e) {
              e.printStackTrace();
             }
            }
           }

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


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 石楼县| 易门县| 林口县| 犍为县| 南昌市| 云南省| 鄂尔多斯市| 镇远县| 成都市| 天峨县| 铜川市| 乌鲁木齐县| 通许县| 荥经县| 丹棱县| 焦作市| 瑞昌市| 淮南市| 锦州市| 稷山县| 吴旗县| 雷波县| 绵竹市| 南召县| 沁源县| 雅江县| 新巴尔虎右旗| 浏阳市| 商洛市| 翁牛特旗| 湟源县| 鄂伦春自治旗| 津南区| 明溪县| 东莞市| 通江县| 沙田区| 曲周县| 安吉县| 洞头县| 永嘉县|