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
 </价格>
</书>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值