12 Nisan 2018 Perşembe

SAX XMLReader Arayüzü

Giriş
Şu satırı dahil ederiz.
import org.xml.sax.XMLReader;
Bu arayüzü gerçekleştirmeye gerek yok. SAXParser nesnesinin getXMLReader() çağrısı ile yaratılıyor.

Bu arayüz SAXSource sınıfının constructor metoduna parametre olarak geçiliyor.

constructor
Şöyle yaparız.
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader reader = sp.getXMLReader();
parse metodu - InputSource
Şöyle yaparız.
reader.parse(new InputSource(new FileInputStream(new File(PATH, "foo.xml"))));
setContentHandler metodu
Örnek
Şöyle yaparız.
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader reader = sp.getXMLReader();
reader.setContentHandler(new SchemaSaxHandler());
reader.parse(new InputSource(new FileInputStream(new File(PATH, "foo.xml"))));


class SchemaSaxHandler extends DefaultHandler {


  @Override
  public void startElement(String uri, String localName, String qName, Attributes atts)
  throws SAXException {
    ...  
  }

  @Override
  public void endElement(String uri, String localName, String qName) throws SAXException {
    ...
  }

  @Override
  public void endDocument() throws SAXException {
    ...
  }
}

Hiç yorum yok:

Yorum Gönder