PrescriptionXmlParser.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package bible.ejb.message.prescription;
  2. import org.xml.sax.*;
  3. import org.xml.sax.helpers.*;
  4. import java.io.*;
  5. import java.util.*;
  6. import java.text.ParseException;
  7. //import common.*;
  8. public class PrescriptionXmlParser extends DefaultHandler {
  9.    private Prescription prescription = new Prescription();
  10.    // Buffer for collecting data from
  11.    // the "characters" SAX event.
  12.    private CharArrayWriter contents = new CharArrayWriter();
  13.    public void startElement( String namespaceURI,
  14.                String localName,
  15.               String qName,
  16.               Attributes attr ) throws SAXException {
  17.       contents.reset();
  18.    }
  19.    public void endElement( String namespaceURI,
  20.                String localName,
  21.               String qName ) throws SAXException{
  22.    try {
  23.       if ( localName.equals( "physician_id" ) ) {
  24.          prescription.setPhysicianId(Integer.parseInt(contents.toString()));
  25.       }
  26.       if ( localName.equals( "patient_id" ) ) {
  27.          prescription.setPatientId(Integer.parseInt(contents.toString()));
  28.       }
  29.       if ( localName.equals( "note" ) ) {
  30.          prescription.setNote(contents.toString());
  31.       }
  32.       if ( localName.equals( "drug" ) ) {
  33.          prescription.setDrug(contents.toString());
  34.       }
  35.    } catch ( Exception p)
  36.    { System.out.println(" Here" + p.toString());
  37.    }
  38.    }
  39.    public void characters( char[] ch, int start, int length )
  40.                   throws SAXException {
  41.          contents.write( ch, start, length );
  42.    }
  43.    public Prescription getPrescription() {
  44.            return prescription;
  45.    }
  46. }