Learning and Using Jakarta Digester
来源:互联网 发布:扎克伯格编程水平 编辑:程序博客网 时间:2024/05/16 09:13
<catalog library="somewhere">
<book>
<author>Author 1</author>
<title>Title 1</title>
</book>
<book>
<author>Author 2</author>
<title>His One Book</title>
</book>
<magazine>
<name>Mag Title 1</name>
<article page="5">
<headline>Some Headline</headline>
</article>
<article page="9">
<headline>Another Headline</headline>
</article>
</magazine>
<book>
<author>Author 2</author>
<title>His Other Book</title>
</book>
<magazine>
<name>Mag Title 2</name>
<article page="17">
<headline>Second Headline</headline>
</article>
</magazine>
</catalog>
JavaBean文件:
import java.util.Vector;
public class Catalog {
private Vector books;
private Vector magazines;
public Catalog() {
books = new Vector();
magazines = new Vector();
}
public void addBook( Book rhs ) {
books.addElement( rhs );
}
public void addMagazine( Magazine rhs ) {
magazines.addElement( rhs );
}
public String toString() {
String newline = System.getProperty( "line.separator" );
StringBuffer buf = new StringBuffer();
buf.append( "--- Books ---" ).append( newline );
for( int i=0; i<books.size(); i++ ){
buf.append( books.elementAt(i) ).append( newline );
}
buf.append( "--- Magazines ---" ).append( newline );
for( int i=0; i<magazines.size(); i++ ){
buf.append( magazines.elementAt(i) ).append( newline );
}
return buf.toString();
}
}
--------------------------------------------------------------------------------
public class Book {
private String author;
private String title;
public Book() {}
public void setAuthor( String rhs ) { author = rhs; }
public void setTitle( String rhs ) { title = rhs; }
public String toString() {
return "Book: Author='" + author + "' Title='" + title + "'";
}
}
--------------------------------------------------------------------------------
import java.util.Vector;
public class Magazine {
private String name;
private Vector articles;
public Magazine() {
articles = new Vector();
}
public void setName( String rhs ) { name = rhs; }
public void addArticle( Article a ) {
articles.addElement( a );
}
public String toString() {
StringBuffer buf = new StringBuffer( "Magazine: Name='" + name + "' ");
for( int i=0; i<articles.size(); i++ ){
buf.append( articles.elementAt(i).toString() );
}
return buf.toString();
}
}
--------------------------------------------------------------------------------
public class Article {
private String headline;
private String page;
public Article() {}
public void setHeadline( String rhs ) { headline = rhs; }
public void setPage( String rhs ) { page = rhs; }
public String toString() {
return "Article: Headline='" + headline + "' on page='" + page + "' ";
}
}
测试文件:
import org.apache.commons.digester.*;
import java.io.*;
import java.util.*;
public class DigesterDriver {
public static void main( String[] args ) {
try {
Digester digester = new Digester();
digester.setValidating( false );
digester.addObjectCreate( "catalog", Catalog.class );
digester.addObjectCreate( "catalog/book", Book.class );
digester.addBeanPropertySetter( "catalog/book/author", "author" );
digester.addBeanPropertySetter( "catalog/book/title", "title" );
digester.addSetNext( "catalog/book", "addBook" );
digester.addObjectCreate( "catalog/magazine", Magazine.class );
digester.addBeanPropertySetter( "catalog/magazine/name", "name" );
digester.addObjectCreate( "catalog/magazine/article", Article.class );
digester.addSetProperties( "catalog/magazine/article", "page", "page" );
digester.addBeanPropertySetter( "catalog/magazine/article/headline" );
digester.addSetNext( "catalog/magazine/article", "addArticle" );
digester.addSetNext( "catalog/magazine", "addMagazine" );
File input = new File( args[0] );
Catalog c = (Catalog)digester.parse( input );
System.out.println( c.toString() );
} catch( Exception exc ) {
exc.printStackTrace();
}
}
}
- Learning and Using Jakarta Digester
- Learning and Using Jakarta Digester
- Learning and Using Jakarta Digester
- Jakarta Common Digester 应用
- Jakarta Common Digester 应用
- Jakarta Commons-Digester学习笔记
- Jakarta Commons Digester 学习笔记
- Apache jakarta commons Digester用法
- Jakarta-Common-Digester使用笔记
- Apache jakarta commons Digester用法
- Jakarta Commons——Digester
- Jakarta Commons Digester 学习笔记
- Jakarta Commons Digester 简介和具体使用方法
- Jakarta Commons Digester 简介和具体使用方法
- 001-Jakarta Commons-Digester学习笔记
- Jakarta Commons Digester 学习资料(引自别处)
- Applied Software Engineering Using Apache Jakarta Commons
- digester
- DELPHI6开发数据库发现的一个问题
- 错误: 无法生成项目输出组“内容文件来自WebApplication1(活动)”
- 【收藏】男人25岁前的忠告
- 重视健康保健
- PollipoP的Blog
- Learning and Using Jakarta Digester
- 研究生上刀山,本科下油锅,过六级的鞭打,没过的
- 用Digester简化XML文档处理(1)
- Unix的轻巧“约取而实得”(上篇)
- 当你很不爽的时候看这个
- 韩乔生语录
- 在ASP页里面注册你的DLL
- Unix的轻巧“约取而实得”(中篇)
- 面向对象技术