今天我学习了SAX的一些基础知识.
在网上看到了sun技术社区的一篇文章《使用JAXP处理XML文件》
这篇文章网址是
http://gceclub.sun.com.cn/yuanchuang/week-9/jaxp.html
我觉得他的算法太麻烦,自己想了一个简单点的,例子里的xml文件是向作者借来的,thx.
一、xml文件以及源代码
Test.xml
<?xml version="1.0" ?>
<customers>
<customer>
<id>#001</id>
<name>Micke</name>
<address>Najing</address>
</customer>
<customer>
<id>#002</id>
<name>Car</name>
<address>Suzhou</address>
</customer>
<customer>
<id>#003</id>
<name>Jimmy</name>
<address>ChengDu</address>
</customer>
<customer>
<id>#004</id>
<name>Henry</name>
<address>Xi'an</address>
</customer>
</customers>
Customers.java
/*
* Created on 2005-12-9
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.util.*;
/**
* @author Rey
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class Customers {
private ArrayList customers;
public Customers() {
customers = new ArrayList();
}
public void addCustomers(Customer c) {
customers.add(c);
}
public String toString() {
String newline = System.getProperty("line.separator");
StringBuffer buf = new StringBuffer();
for (int i = 0; i < customers.size(); i++) {
buf.append(customers.get(i)).append(newline);
}
return buf.toString();
}
}
class Customer {
private String id;
private String name;
private String address;
Customer(String id, String name, String address) {
this.id = id;
this.name = name;
this.address = address;
}
public String getAddress() {
return address;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public void setAddress(String string) {
address = string;
}
public void setId(String string) {
id = string;
}
public void setName(String string) {
name = string;
}
public String toString(){
return "Customer: ID='" + id + "' Name='" + name +
"' Address='" + address + "'";
}
}
Test.java
import java.io.*;
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import java.util.*;
/**
* @author Rey
*
* TO