View Javadoc
1 //============================================================================== 2 // file : XMLDocumentHandlerSAX.java 3 // project: Lucene Search System 4 // 5 // last change: date: $Date: 2003/09/09 03:11:52 $ 6 // by: $Author: bitiboy $ 7 // revision: $Revision: 1.1 $ 8 //------------------------------------------------------------------------------ 9 // copyright: GNU GPL Software License (see class documentation) 10 //============================================================================== 11 12 package com.justhis.lucene.xml; 13 14 15 /* 16 * $Id: XMLDocumentHandlerSAX.java,v 1.1 2003/09/09 03:11:52 bitiboy Exp $ 17 * 18 * Copyright 2003 Acai Software All Rights Reserved. 19 * 20 * This file LuceneException.java is part of the Lucene Search System. 21 22 * The Lucene Search System is free software; you can redistribute it and/or modify 23 * it under the terms of the GNU General Public License as published by 24 * the Free Software Foundation; either version 2 of the License, or 25 * (at your option) any later version. 26 27 * Lucene Search System is distributed in the hope that it will be useful, 28 * but WITHOUT ANY WARRANTY; without even the implied warranty of 29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 30 * GNU General Public License for more details. 31 32 * You should have received a copy of the GNU General Public License 33 * along with the Lucene Search System; if not, write to the Free Software 34 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 35 36 * http://www.justhis.com http://ejb.cn 37 * CONTACT: email = webmaster@justhis.com superaxis@sohu.com 38 */ 39 import org.apache.lucene.document.Document; 40 import org.apache.lucene.document.Field; 41 42 import org.xml.sax.*; 43 import org.xml.sax.helpers.DefaultHandler; 44 45 import java.io.File; 46 import java.io.IOException; 47 48 import javax.xml.parsers.*; 49 50 51 /*** 52 * TODO 53 * 54 * @author <a href="http://blog.ejb.cn">acai</a> 55 * @version $Revision: 1.1 $ 56 */ 57 public class XMLDocumentHandlerSAX extends DefaultHandler { 58 //~ Instance fields -------------------------------------------------------- 59 60 /*** A buffer for each XML element */ 61 private StringBuffer elementBuffer = new StringBuffer(); 62 63 /*** ????????lucene???????? */ 64 private Document mDocument; 65 66 //~ Constructors ----------------------------------------------------------- 67 68 /*** 69 * ???????? ????XML??????????????????????SAX????????????????Handler??XML?????????? 70 * 71 * @param xmlFile XML???????? 72 * 73 * @throws ParserConfigurationException if the implementation is not 74 * available or cannot be instantiated. 75 * @throws SAXException if a parser cannot be created which satisfies the 76 * requested configuration. 77 * @throws IOException If any IO errors occur 78 */ 79 public XMLDocumentHandlerSAX(File xmlFile) 80 throws ParserConfigurationException, SAXException, 81 IOException { 82 SAXParserFactory spf = SAXParserFactory.newInstance(); 83 84 SAXParser parser = spf.newSAXParser(); 85 parser.parse(xmlFile, this); 86 } 87 88 //~ Methods ---------------------------------------------------------------- 89 90 /* ???? Javadoc?? 91 * @see org.xml.sax.ContentHandler#startDocument() 92 */ 93 94 // call at document start 95 public void startDocument() { 96 mDocument = new Document(); 97 } 98 99 /* ???? Javadoc?? 100 * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) 101 */ 102 103 // call at element start 104 public void startElement(String uri, String localName, String qName, 105 Attributes attributes 106 ) throws SAXException { 107 elementBuffer.setLength(0); 108 } 109 110 /* ???? Javadoc?? 111 * @see org.xml.sax.ContentHandler#characters(char[], int, int) 112 */ 113 114 // call when cdata found 115 public void characters(char[] text, int start, int length) { 116 elementBuffer.append(text, start, length); 117 } 118 119 /* ???? Javadoc?? 120 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String) 121 */ 122 123 // call at element end 124 public void endElement(String uri, String localName, String qName) 125 throws SAXException { 126 System.out.println("field :" + qName + ";field Value:" 127 + elementBuffer.toString() 128 ); 129 mDocument.add(Field.Text(qName, elementBuffer.toString())); 130 } 131 132 /*** 133 * DOCUMENT ME! 134 * 135 * @return TODO 136 */ 137 public Document getDocument() { 138 return mDocument; 139 } 140 } 141 /* 142 * $Log: XMLDocumentHandlerSAX.java,v $ 143 * Revision 1.1 2003/09/09 03:11:52 bitiboy 144 * *** empty log message *** 145 * 146 * Revision 1.1 2003/09/09 00:54:45 bitiboy 147 * *** empty log message *** 148 * 149 * Revision 1.1 2003/09/07 08:23:50 superaxis 150 * *** empty log message *** 151 * 152 * 153 */

This page was automatically generated by Maven