????SAX ??????????????????????????? org.xml.sax ???С??????????? ContentHandler??DTDHandler??EntityResolver ?? ErrorHandler?? ???? ContentHandler ????????????????????????????????????????DTDHandler ?? EntityResolver ???????????? DTD ???????????????????? ErrorHandler ???????????????DefaultHandler ??????????????????????????????????? BookHandler ????? DefaultHandler ?? ???????????е??????????? startDocument()??endDocument()??startElement()??endElement() ?? characters() ??????????????????????

????Digester ???? XML

??????????? XML ???? JavaBean ??????????Apache ???μ??????? Digester ???????????????????????????????? XML ???? JavaBean ?洢????浱?У? ????????????????????????????ж????????????????????????? XML ?????????????????ù????????????????????????????????????

????????????? Digester ???? XML ????????Σ?

// ??????????? XML ??·?????????????????  
File input = new File("books.xml");   
Digester digester = new Digester();   
 
// ????????? <books> ??????????ó???? test.myBean.Books ??? JavaBean ????????????  
digester.addObjectCreate("books"?? "test.myBean.Books");   
digester.addSetProperties("books");   
// ????????? <books/book> ??????????????? test.myBean.Book ??? JavaBean   
digester.addObjectCreate("books/book"?? "test.myBean.Book");   
digester.addSetProperties("books/book");   
// ??????????????????????? JavaBean ?? addBook() ?????????? <books/book> ????????????  
digester.addSetNext("books/book"?? "addBook"?? "test.myBean.Book");   
 
// ?????????????????????????????н?????????  
Books books = (Books) digester.parse(input);
 


???????????????????????? Digester ???? XML ???Щ??????????????Щ????????????? ???????Digester ?????????????? XML ?????????? XML ??????? JavaBean???????? XML ????????????? JavaBean?? ??????? attribute ????? JavaBean ????? Field?????????????????? tag ????????????? tag ???????????μ? XML?????????????μ? JavaBean?? ???????? Field ?????? Bean ???У???????????????????????????? XML ???н?????

??????????

????????????? Java ???? XML ????????ü????????? DOM ?????????????????????????????????????????????????? XML ????? SAX ??????????????????????????ν??? XML ????????????????????????????????????? Digester/JAXB ????????????????????????????е????????????????? API ???????÷????? ???????????????????????????? XML ????????????????????????????????