//解析的测试代码
package cn.itcast.digester;
import java.io.IOException;
import org.apache.commons.digester.Digester;
import org.xml.sax.SAXException;
import cn.itcast.pojos.Book;
public class BookDigester {
public static void main(String[] args) {
Digester digester = new Digester();
digester.addObjectCreate("书", Book.class);
digester.addBeanPropertySetter("书/书名", "bookName");
digester.addBeanPropertySetter("书/编号", "bookId");
digester.addBeanPropertySetter("书/价格", "bookPrice");
digester.addSetProperties("书/价格", "单位", "unit");
try {
Book book = (Book) digester.parse(BookDigester.class.getResourceAsStream("/cn/itcast/pojos/Book.xml"));
System.out.println(book.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//pojos的Book类
package cn.itcast.pojos;
import java.io.Serializable;
public class Book implements Serializable {
private String bookName;
private String bookId;
private float bookPrice;
private String unit;
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getBookId() {
return bookId;
}
public void setBookId(String bookId) {
this.bookId = bookId;
}
public float getBookPrice() {
return bookPrice;
}
public void setBookPrice(float bookPrice) {
this.bookPrice = bookPrice;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "bookName:" + getBookName() + ", bookId:" + getBookId() + ", bookPrice:" + getBookPrice();
}
}
//xml的代码
<?xml version="1.0" encoding="UTF-8"?>
<书>
<书名>
java宝典
</书名>
<编号>
g001
</编号>
<价格 单位="元">
20
</价格>
</书>