digester框架解析xml文件

//解析的測試代碼

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
 </價格>
</書>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章