⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 memoapp.java

📁 采用Jakatta Apache Commons的Digester解析XML文档简单例程,附带有ant构建文件,可以做为程序开发中XML文件解析的常用参考
💻 JAVA
字号:
package wwt.helloDigester.sample3;

import java.io.IOException; 
import java.io.InputStream; 

import org.apache.commons.digester.Digester; 

public class MemoApp 
{ 
  /*-----/ Instance Field(s) /------------------------------------------------*/ 
  private    Memos _memos; 
  /*-----/ Constructor(s) /---------------------------------------------------*/ 
    public MemoApp() 
    { 
        /* do nothing */ 
    } 
  /*-----/ Private Methods(s) /-----------------------------------------------*/ 
  /** 
   * Initializes the instance of Digester. 
   */ 
    private void init(Digester dgstr) 
    { 
    /* 当遇到memos元素时创建一个Memos对象 */ 
    dgstr.addObjectCreate("memos", Memos.class); 

    /* 当遇到memo元素时创建一个Memo对象 */ 
    dgstr.addObjectCreate("memos/memo", Memo.class); 

    /* 当遇到memos/memo/title元素时,调用当前Memo对象的setTitle方法 */ 
    dgstr.addBeanPropertySetter("memos/memo/title", "title"); 

    /* 当遇到memos/memo/body元素时,调用当前Memo对象的setBody */ 
    dgstr.addBeanPropertySetter("memos/memo/body", "body"); 

    /* 当遇到memos/memo/date元素时,调用当前Memo对象的setDate方法 */ 
    dgstr.addBeanPropertySetter("memos/memo/date", "date"); 

    /* 调用当前的Memos对象的addMemo方法,参数为当前的Memo对象 */ 
    dgstr.addSetNext("memos/memo", "addMemo"); 
    
    } 
  /** 
   * prints details of memos to standard out. 
   */ 
  private void print() 
  { 
    System.out.println(_memos); 
  } 
  /** 
   * maps the xml data to java object 
   */   
  private void load(InputStream in) throws Exception 
    { 
        Digester dgstr = new Digester(); 
    init(dgstr); 
        try 
        { 
            _memos = (Memos) dgstr.parse(in); 
        } catch (IOException e) 
        { 
      throw new Exception("Error occured When loading data",e); 
        } 
    } 
  /*-----/ Main Method /------------------------------------------------------*/ 
  public static void main(String[] args) throws Exception 
    { 
        MemoApp mapp = new MemoApp(); 
    /* load xml file from classpath */ 
    mapp.load(MemoApp.class.getResourceAsStream("/wwt/helloDigester/sample3/memo.xml")); 
    mapp.print(); 
    } 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -