Java读取xml文件的方法
xml文件:
Xml代码
A1234
XX省XX市
B1234
XX省XX市二七区
第一种 DOM 实现方法:
Java代码
import ;
import mentBuilder;
import mentBuilderFactory;
import ment;
import List;
public class MyXMLReader2DOM {
public static void main(String arge[]) {
long lasting = entTimeMillis();
try {
File f = new File("data_");
DocumentBuilderFactory factory = nstance();
DocumentBuilder builder = ocumentBuilder();
Document doc = e(f);
NodeList nl = lementsByTagName("VALUE");
for (int i = 0; i < ength(); i++) {
t("车牌号码:"+ lementsByTagName("NO")(i)irstChild()odeValue());
tln("车主地址:"+ lementsByTagName("ADDR")(i)irstChild()odeValue());
tln("运行时间:" + (entTimeMillis() - lasting)
+ "毫秒");
}
}
} catch (Exception e) {
tStackTrace();
}
}
}
第二种,DOM4J实现方法:
Java代码
import .*;
import .*;
import 4j.*;
import .*;
public class MyXMLReader2DOM4J {
public static void main(String arge[]) {
long lasting = entTimeMillis();
try {
File f = new File("data_");
SAXReader reader = new SAXReader();
Document doc = (f);
Element root = ootElement();
Element foo;
for (Iterator i = entIterator("VALUE"); ext();) {
foo = (Element) ();
t("车牌号码:" + entText("NO"));
tln("车主地址:" + entText("ADDR"));
}
tln("运行时间:" + (entTimeMillis() - lasting)
+ "毫秒");
}
} catch (Exception e) {
tStackTrace();
}
}
}
第三种 JDOM实现方法:
Java代码
import .*;
import .*;
import .*;
import t.*;
public class MyXMLReader2JDOM {
public static void main(String arge[]) {
long lasting = entTimeMillis();
try {
SAXBuilder builder = new SAXBuilder();
Document doc = d(new File("data_"));
Element foo = ootElement();
List allChildren = hildren();
for (int i = 0; i < (); i++) {
t("车牌号码:"+ ((Element) (i))hild("NO")ext());
tln("车主地址:"+ ((Element) (i))hild("ADDR")ext());
}
tln("运行时间:" + (entTimeMillis() - lasting)
+ "毫秒");
}
} catch (Exception e) {
tStackTrace();
}
}
}
第四种SAX实现方法:
Java代码
import arser;
import arserFactory;
import ibutes;
import tSource;
import xception;
import ultHandler;
public class MyXMLReader2SAX extends DefaultHandler {
k tags = new k();
public MyXMLReader2SAX() {
super();
}
public static void main(String args[]) {
long lasting = entTimeMillis();
try {
SAXParserFactory sf = nstance();
SAXParser sp = AXParser();
MyXMLReader2SAX reader = new MyXMLReader2SAX();
e(new InputSource("data_"), reader);
} catch (Exception e) {
tStackTrace();
}
tln("运行时间:" + (entTimeMillis() - lasting)
+ "毫秒");
}
public void characters(char ch[], int start, int length)
throws SAXException {
String tag = (String) ();
if (ls("NO")) {
t("车牌号码:" + new String(ch, start, length));
}
if (ls("ADDR")) {
tln("地址:" + new String(ch, start, length));
}
}
public void startElement(String uri, String localName, String qName,
Attributes attrs) {
(qName);
}
}