Anasayfa » Java » Xml Parser

Xml Parser

9 Nisan 2010  |  Yazar: coders  |  Yorum Yok  |  29 kez okundu
Facebook'da Paylaş Twitter'da Paylas FriendFeed'de Paylaş Xml Parser

Parser

Merhaba arkadaşlar bu yazımızda sizlere Xml Parser konusundan söz edeceğim.Öncelikle xmlparser nedir ondan söz edelim..Parser mevcut bir xml dosyasından bilgi elde etmek amacıyla kullanılan bir api olarak tanımlanabilir.Parser’ları ikiye ayırmamız mümkün..
Bunlardan ilki Dom ikincisi ise Sax isimli parser’lardır.Şimdi kısaca Dom parser’ından bahsedelim.

Dom parser’ı mevcut xml dosyasındaki normal veya iç içe yazılmış olan verileri hafızaya taşıma işlemini gerçekleştirir.Dosyanın bir kopyası hafızada aynen oluşturulmaktadır.Öncelikle parser dosyadaki bu verileri tek tek okur ve yine bellekte kendi türünden bir nesne oluşturur.Daha sonrasında bu nesneye dom parser’ı ile erişilip nesnede tutulan veriler okunabilir.özniteliklere,değerlere ve veri ismine ulaşmak mümkündür.

Şimdi ‘ları inceleyelim..

Olay temelli olan sax parser’lar, xml dosyasını tümüyle inceler,inceleme esnasında yapılmakta olan her olay yani değişiklik şu şekilde ifade edilir;

dosya başladı,karakter okundu,işlem tamamlandı vb.

Sax parser’larının önemli bir özelliği ise çağıracağınız element için bütün dosyayı okuma gereksiniminin olmamasıdır.Yani siz bir element çağırmak istediğiniz zaman parser sizin belirttiğiniz elemente denk geldiği vakit elementin bütün özniteliklerini kullanıcıya iletir.Kısaca bu öznitelikler arasından istediğiniz elementin olup olmadığını net olarak anlamak mümkündür id numarasına bakarak.

import .io.*;

import org.xml.sax.*;

import javax.xml.parsers.SAXPaarserFactory;

import javax.xml.parsers.ParserConfigurationException;

import javax.xml.parsers.SAXParsers;

public class BooksLibrary extends HandlerBase

{

}

Ayrıştırıcımızı yani parser’ımızı oluşturalım..

public static void main (String argv[])

{

SAXParserFactory factory = SAXParserFacroty.newInstance();

try{

out=new OutputStreamWriter(System.out, "UTF8");

SAXParser saxParser = factory.newSaxParser();

saxParser.parse(new File(XML_FILE_NAME),new BooksLibrary());

}catch (Throwable err){

err.printStackTrace ();

}

}
/*

*Xml Dosyası ayrıştırılmaya başlanıyor..

*/

public void startDocument() throws SAXException

{

}
/*

*Dosya ayrıştırılması bitiriliyor..

*/

public void endDoucment () throw SAXException

{

}
/*

*Element isimlerini alıyoruz..

*/

public void startElement ( String name, AttritubeList attrs) throws SAXException

{

}
/*

* elemente ulaşıldığında işlem tamamlanıyor..

*/

public void endElement ( string name ) throws SAXException

{

}

public void characters ( char buf [], int offset, int len ) throws SAXException

{

}

public void processingInstructaion ( String target, String data ) throws SAXException

{

}

Çalıştırmak için ise ;

Window Ortamında

javac-classpath %%javxp.jar;%% BooksLibrary.java

java - classpath.;%XML_HOME%;%XML_HOME%parser.jar library.xml

Unix Ortamında

javac -classpath ${XML_HOME}/jaxp.jar:${XML_HOME}/parser.jar BooksLibrary.java

java -classpath .:${XML_HOME}/jaxp.jar:${XML_HOME}/parser.jar BooksLibrary library.xml

Bazı tanımlamaların açıklamalarınıda yapalım;

XML_HOME : JAXP ve Proje X kütüphanelerini yüklemektedir
jaxp.jar : JAXP-specific apilerini içermektedir
parser.jar : Sax ve DOM apilerinin yanı sıra Project X kütüphanesini içermektedir

Hepinize iyi çalışmalar arkadaşlar..

.net | Oguzz

Facebok'ta Paylaş

Benzer Yazılar

Etiketler: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
avatar

Ahmet Ates

http://www.coders.gen.tr/ 25 yasindayim. Z.K.U Biyomedikal Cihaz Teknolojisi bölümünü okudum, Programlama dilleri arasindan ilgilendiğim ve profesyonel olarak hizmet verdiğim dil Fortran'dir. Web olarak Php,Css ve hazır sistemler olarak Wordpress ve Vbulletine hayranlık besliyorum.

Bu yazı hakkında birşeyler demek ister misiniz?

RSS üzerinden bu yazıya yapılan yorumları takip edin.

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


Programlama