java學習

          java學習

           

          java讀取xml數據方法

          xml文件:

            Xml代碼


            <?xml version="1.0" encoding="GB2312"?>  
            <RESULT> 
            <VALUE> 
            <NO>A1234</NO> 
            <ADDR>河南省鄭州市</ADDR> 
            </VALUE> 
            <VALUE> 
            <NO>B1234</NO> 
            <ADDR>河南省鄭州市二七區</ADDR> 
            </VALUE> 
            </RESULT>

          第一種 DOM 實現方法:

            Java代碼


              import java.io.File; 
            import javax.xml.parsers.DocumentBuilder; 
            import javax.xml.parsers.DocumentBuilderFactory; 
            import org.w3c.dom.Document; 
            import org.w3c.dom.NodeList; 
            public class MyXMLReader2DOM { 
            public static void main(String arge[]) { 
            long lasting = System.currentTimeMillis(); 
            try { 
            File f = new File("data_10k.xml"); 
            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
            DocumentBuilder builder = factory.newDocumentBuilder(); 
            Document doc = builder.parse(f); 
            NodeList nl = doc.getElementsByTagName("VALUE"); 
            for (int i = 0; i < nl.getLength(); i++) { 
            System.out.print("車牌號碼:"+ doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue()); 
            System.out.println("車主地址:"+ doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue()); 
            System.out.println("運行時間:" + (System.currentTimeMillis() - lasting) 
            + "毫秒"); 
            } 
            } 
            } catch (Exception e) { 
            e.printStackTrace(); 
            } 
            } 
            }

            第二種,DOM4J實現方法:

            Java代碼


              import java.io.*; 
            import java.util.*; 
            import org.dom4j.*; 
            import org.dom4j.io.*; 
            public class MyXMLReader2DOM4J { 
            public static void main(String arge[]) { 
            long lasting = System.currentTimeMillis(); 
            try { 
            File f = new File("data_10k.xml"); 
            SAXReader reader = new SAXReader(); 
            Document doc = reader.read(f); 
            Element root = doc.getRootElement(); 
            Element foo; 
            for (Iterator i = root.elementIterator("VALUE"); i.hasNext();) { 
            foo = (Element) i.next(); 
            System.out.print("車牌號碼:" + foo.elementText("NO")); 
            System.out.println("車主地址:" + foo.elementText("ADDR")); 
            } 
            System.out.println("運行時間:" + (System.currentTimeMillis() - lasting) 
            + "毫秒"); 
            } 
            } catch (Exception e) { 
            e.printStackTrace(); 
            } 
            } 
            }

            第三種 JDOM實現方法:

            Java代碼


              import java.io.*; 
            import java.util.*; 
            import org.jdom.*; 
            import org.jdom.input.*; 
            public class MyXMLReader2JDOM { 
            public static void main(String arge[]) { 
            long lasting = System.currentTimeMillis(); 
            try { 
            SAXBuilder builder = new SAXBuilder(); 
            Document doc = builder.build(new File("data_10k.xml")); 
            Element foo = doc.getRootElement(); 
            List allChildren = foo.getChildren(); 
            for (int i = 0; i < allChildren.size(); i++) { 
            System.out.print("車牌號碼:"+ ((Element) allChildren.get(i)).getChild("NO").getText()); 
            System.out.println("車主地址:"+ ((Element) allChildren.get(i)).getChild("ADDR").getText()); 
            } 
            System.out.println("運行時間:" + (System.currentTimeMillis() - lasting) 
            + "毫秒"); 
            } 
            } catch (Exception e) { 
            e.printStackTrace(); 
            } 
            } 
            }

            第四種SAX實現方法:

            Java代碼

           


           import javax.xml.parsers.SAXParser; 
            import javax.xml.parsers.SAXParserFactory; 
            import org.xml.sax.Attributes; 
            import org.xml.sax.InputSource; 
            import org.xml.sax.SAXException; 
            import org.xml.sax.helpers.DefaultHandler; 
            public class MyXMLReader2SAX extends DefaultHandler { 
            java.util.Stack tags = new java.util.Stack(); 
            public MyXMLReader2SAX() { 
            super(); 
            } 
            public static void main(String args[]) { 
            long lasting = System.currentTimeMillis(); 
            try { 
            SAXParserFactory sf = SAXParserFactory.newInstance(); 
            SAXParser sp = sf.newSAXParser(); 
            MyXMLReader2SAX reader = new MyXMLReader2SAX(); 
            sp.parse(new InputSource("data_10k.xml"), reader); 
            } catch (Exception e) { 
            e.printStackTrace(); 
            } 
            System.out.println("運行時間:" + (System.currentTimeMillis() - lasting) 
            + "毫秒"); 
            } 
            public void characters(char ch[], int start, int length) 
            throws SAXException { 
            String tag = (String) tags.peek(); 
            if (tag.equals("NO")) { 
            System.out.print("車牌號碼:" + new String(ch, start, length)); 
            } 
            if (tag.equals("ADDR")) { 
            System.out.println("地址:" + new String(ch, start, length)); 
            } 
            } 
            public void startElement(String uri, String localName, String qName, 
            Attributes attrs) { 
            tags.push(qName); 
            } 
            }

          posted on 2012-12-29 15:04 楊軍威 閱讀(215) 評論(0)  編輯  收藏


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


          網站導航:
           

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 勃利县| 泰顺县| 泽库县| 铜梁县| 铅山县| 霸州市| 金塔县| 新河县| 盐亭县| 涞水县| 九江县| 高要市| 桃源县| 咸丰县| 修武县| 新泰市| 湘乡市| 谷城县| 浙江省| 南开区| 板桥市| 张掖市| 定边县| 冕宁县| 微山县| 子洲县| 汝州市| 黔西| 禹州市| 乐都县| 新沂市| 重庆市| 方山县| 胶南市| 峨眉山市| 诏安县| 门源| 科尔| 正定县| 承德县| 黔西|