A SAX parses the simple program of XML.

xiaoxiao2021-03-06  42

SAX parsing XML is relatively easy and simple, almost all the features needed in Java. Below is a simple code that shows the callback relationship. Package enginerydb;

Import java.io.ioException; import org.xml.sax. *; import org.xml.sax.helpers. *; import javax.xml.parsers. *; import java.io. *;

public class SaxParser1 extends DefaultHandler {DBObject dbObject = new DBObject (); public DBObject readXmlFile (String xmlFile) throws Exception {try {// ***************** SAXParserFactory spfactory = SAXParserFactory. newInstance (); spfactory.setValidating (false); SAXParser saxParser = spfactory.newSAXParser (); xMLReader xmlReader = saxParser.getXMLReader (); // SaxExtractor: reading a file processing ContentHandler handler = new SaxExtractor (dbObject); xmlReader.setContentHandler ( handler); FileInputStream stream = new FileInputStream (xmlFile); InputSource source = new InputSource (stream); xmlReader.parse (source);} catch (Exception ex) {ex.printStackTrace (); throw ex;} return dbObject;}

Public static void main (string [] argv) {

SaxParser1 sax = new SaxParser1 (); try {DBObject dbobject = sax.readXmlFile ( "db.xml");} catch (IOException ex) {ex.printStackTrace ();} catch (SAXException ex) {ex.printStackTrace (); } Catch (ParserConfigurationException EX) {EX.PrintStackTrace ();} catch (factoryconfiguration error ex) {ex.printStackTrace ();} catch (exception ex) {ex.printstacktrace ();}}} / ******* *************************************************************************** / PACKAGE ENGINEDB;

Import java.io. *; import org.xml.sax. *; import org.xml.sax.helpers. *; import javax.xml.parsers. *; import java.util. *;

Public Class Saxextractor Extends DefaultHandler {

Private stringbuffer buf; dbobject dbobject = new dbObject (); // empty body function PUBLIC SAXEXTRACTOR () {}

Public saxextractor (dbobject dbobject) {this.dbobject = dbObject;

/ ** * * @Param Indents Int * /

Public Void Characters (char [] text, int start, int future) THROWS SAXEXCEPTION {// Plus the element content into stringbuffer buf.append (Text, start, length);

// do-nothing methods public void setDocumentlocator (locator locator) {}

Public void startdocument () {buf = new stringbuffer ();

Public void enddocument () {// system.out.println ("enddocument ()");}

Public void startprefixmapping (string prefix, string URI) {// system.out.println ("startprefixmapping ()");}

Public void endprefixmapping (string prefix) {// system.out.println ("endprefixmapping ()");}

Public void StartElement (String Namespaceuri, String LocalName, String QualifiedName, Attributes Atts) {}

Public void endelement (String Namespaceuri, String Localname) {string nullstr = ""; if (! buf.tostring (). Trim (). Equals (nullstr) {// system.out.println ("/ t The content is: " buf.Tostring (). Trim ()); if (" drivername ")) {system.out.println (buf.tostring (). Trim ()); this.dbobject.SetDrivername (BUF.TOSTRING (). Trim ());} IF ("JDBCURL")) {system.out.println (buf.tostring (). Trim ()); this.dbobject.setjdbCURL (BUF. " TOSTRING (). Trim ());} IF ("UserName")) {system.out.println (buf.tostring (). Trim ()); this.dbobject.setuserName (buf.tostring () .trim ());} if (QualifiedName.equals ("Passwd")) {system.out.println (buf.tostring (). Trim ()); this.dbobject.setPasswd (buf.tostring (). TRIM ));}} Buf.setlength (0); // Print element parsing end information} public void ignorablewhitespace (char [] text, int start, int length) THROWS SAXEXCEPTION {}

Public void processinginstruction (String Target, string date) {}

Public void Skippedentity (String Name) {}

Private string constring (string str) throws exception {string ret = new string (Str.getbytes ("ISO-8859-1"), "GBK"); return ret;}} / ********** **************************************************** / package engine engineDB;

Import java.sql. *; import java.util. *; import java.io. *;

Public Class JBSQL {

Public string query_state = null; / * Define SQL statement * / public connection conn = null; public statement stmt = null; public resultset res = null;

Public string param []; / * Query criteria, or new record * / public jbsql () {}

Public void setparam (string [] param) {this.Param = param;} public void setQueryStatement (string query_statement) {this.query_statement = query_statement;

public void setConnection (String driverName, String jdbcURL, String username, String passwd) throws Exception {Connection conn1; Class.forName (driverName); conn1 = DriverManager.getConnection (jdbcURL, username, passwd); conn1.setAutoCommit (false); this .conn = conn1;

/ * Get the query result * / public ResultSet getResult () {try {PreparedStatement select_stm = conn.prepareStatement (query_statement, java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_READ_ONLY); if (! Param = null) {for (INT i = 0; i

// create a workflow database public void createEngineDB () throws SQLException, java.io.UnsupportedEncodingException {try {PreparedStatement create_stm = conn.prepareStatement (query_statement); create_stm.executeUpdate (); create_stm.close (); conn.commit (); } catch (Exception e) {System.out.println (e); conn.rollback ();}} public ArrayList findPlace (String fileName) throws Exception {FileReader fileReader = new FileReader (fileName); ArrayList array = new ArrayList () CHAR [] chrbuffer = new char [1024 * 35]; // All data is placed in the buffer foughreader.read (chrbuffer); // converts the data in buff to string // stringbuffer strBuffer = new stringbuffer () // string string strsTream = new string (chrbuffer); int index = 0; for (int i = 0; i

转载请注明原文地址:https://www.9cbs.com/read-54656.html

New Post(0)