Four Methods for java to read xml files and four methods for javaxml
Xml Code
1 <? Xml version = "1.0" encoding = "GB2312"?> 2 <RESULT> 3 <VALUE> 4 <NO> A1234 </NO> 5 <ADDR> Zhengzhou City, Henan Province </ADDR> 6 </VALUE> 7 <VALUE> 8 <NO> b1234 </NO> 9 <ADDR> No. 10, Erqi District, Zhengzhou City, Henan Province </ADDR> </VALUE> 11 </RESULT>
First DOM implementation method:
1 import java. io. file; 2 3 import javax. xml. parsers. documentBuilder; 4 import javax. xml. parsers. documentBuilderFactory; 5 6 import org. w3c. dom. document; 7 import org. w3c. dom. nodeList; 8 9 public class MyXMLReader2DOM {10 public static void main (String arge []) {11 12 long lasting = System. currentTimeMillis (); 13 14 try {15 File f = new File ("data_10k.xml"); 16 DocumentBuilderFactory factory = DocumentBuilderFactory. newInstance (); 17 DocumentBuilder builder = factory. newDocumentBuilder (); 18 Document doc = builder. parse (f); 19 NodeList nl = doc. getElementsByTagName_r ("VALUE"); 20 for (int I = 0; I <nl. getLength (); I ++) {21 System. out. print ("license plate number:" + doc. getElementsByTagName_r ("NO "). item (I ). getFirstChild (). getNodeValue (); 22 System. out. println ("owner address:" + doc. getElementsByTagName_r ("ADDR "). item (I ). getFirstChild (). getNodeValue (); 23} 24} catch (Exception e) {25 e. printStackTrace (); 26} 27} 28}
Second, DOM4J Implementation Method
1 import java. io. *; 2 import java. util. *; 3 import org. dom4j. *; 4 import org. dom4j. io. *; 5 6 public class MyXMLReader2DOM4J {7 public static void main (String arge []) {8 long lasting = System. currentTimeMillis (); 9 try {10 File f = new File ("data_10k.xml"); 11 SAXReader reader = new SAXReader (); 12 Document doc = reader. read (f); 13 Element root = doc. getRootElement (); 14 Element foo; 15 for (Iterator I = root. elementIterator ("VALUE"); I. hasNext ();) {16 foo = (Element) I. next (); 17 System. out. print ("license plate number:" + foo. elementText ("NO"); 18 System. out. println ("owner address:" + foo. elementText ("ADDR"); 19} 20} catch (Exception e) {21 e. printStackTrace (); 22} 23} 24}
Method 3:
1 import java. io. *; 2 import java. util. *; 3 import org. jdom. *; 4 import org. jdom. input. *; 5 6 public class MyXMLReader2JDOM {7 public static void main (String arge []) {8 long lasting = System. currentTimeMillis (); 9 try {10 SAXBuilder builder = new SAXBuilder (); 11 Document doc = builder. build (new File ("data_10k.xml"); 12 Element foo = doc. getRootElement (); 13 List allChildren = foo. getChildren (); 14 for (int I = 0; I <allChildren. size (); I ++) {15 System. out. print ("license plate number:" + (Element) allChildren. get (I )). getChild ("NO "). getText (); 16 System. out. println ("owner address:" + (Element) allChildren. get (I )). getChild ("ADDR "). getText (); 17} 18} catch (Exception e) {19 e. printStackTrace (); 20} 21} 22}
Method 4:
1 import javax. xml. parsers. SAXParser; 2 import javax. xml. parsers. SAXParserFactory; 3 4 import org. xml. sax. attributes; 5 import org. xml. sax. inputSource; 6 import org. xml. sax. SAXException; 7 import org. xml. sax. helpers. defaultHandler; 8 9 public class MyXMLReader2SAX extends DefaultHandler {10 11 java. util. stack tags = new java. util. stack (); 12 13 public MyXMLReader2SAX () {14 super (); 15} 16 17 public static void main (String args []) {18 long lasting = System. currentTimeMillis (); 19 try {20 SAXParserFactory sf = SAXParserFactory. newInstance (); 21 SAXParser sp = sf. newSAXParser (); 22 MyXMLReader2SAX reader = new MyXMLReader2SAX (); 23 sp. parse (new InputSource ("data_10k.xml"), reader); 24} catch (Exception e) {25 e. printStackTrace (); 26} 27 28 System. out. println ("Run time:" + (System. currentTimeMillis ()-lasting) 29 + "millisecond"); 30} 31 32 public void characters (char ch [], int start, int length) 33 throws SAXException {34 String tag = (String) tags. peek (); 35 if (tag. equals ("NO") {36 System. out. print ("license plate number:" + new String (ch, start, length); 37} 38 if (tag. equals ("ADDR") {39 System. out. println ("Address:" + new String (ch, start, length); 40} 41} 42 43 public void startElement (String uri, String localName, String qName, 44 Attributes attrs) {45 tags. push (qName); 46} 47}