izmir escort escort izmir porno porno izle
XML Parser - IRCForumları - IRC ve mIRC Yardım ve Destek Platformu
User Tag List

Standart XML Parser #1
Mesajlar: n/a
Aldığı Beğeni:
Beğendikleri:
07 Ağustos 2011 , 11:51
Alıntı ile Cevapla
XML 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 Sax parser‘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.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import <SPAN class=colorKeywords18 sizcache="0" sizset="19"><STRONG sizcache="0" sizset="19"><A class="st_tag internal_tag" title="Posts tagged with Java" href="http://www.coders.gen.tr/etiket/java" rel=tag>Java</A></STRONG></SPAN>.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..
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static void main (String argv[])

{

SAXParserFactory factory = SAXParserFacroty.newInstance();

try{

out=new OutputStreamWriter(<SPAN class=colorKeywords33><STRONG>system</STRONG></SPAN>.out, "UTF8");

SAXParser saxParser = factory.newSaxParser();

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

}catch (Throwable err){

err.printStackTrace ();

}

}



1
2
3
4
5
6
7
8
9
10
11
/*

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

*/

public void startDocument() throws SAXException

{

}



1
2
3
4
5
6
7
8
9
10
11
/*

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

*/

public void endDoucment () throw SAXException

{

}



1
2
3
4
5
6
7
8
9
10
11
/*

*Element isimlerini alıyoruz..

*/

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

{

}



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*

* 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

1
2
3
javac-classpath %<A class="st_tag internal_tag" title="Posts tagged with XML_HOME" href="http://www.coders.gen.tr/etiket/xml_home" rel=tag>XML_HOME</A>%javxp.jar;%<A class="st_tag internal_tag" title="Posts tagged with XML_HOME" href="http://www.coders.gen.tr/etiket/xml_home" rel=tag>XML_HOME</A>%<A class="st_tag internal_tag" title="Posts tagged with parser.jar" href="http://www.coders.gen.tr/etiket/parser-jar" rel=tag>parser.jar</A> BooksLibrary.<SPAN class=colorKeywords18><STRONG>Java</STRONG></SPAN>

<SPAN class=colorKeywords18><STRONG>Java</STRONG></SPAN> - classpath.;%XML_HOME%<A class="st_tag internal_tag" title="Posts tagged with jaxp.jar" href="http://www.coders.gen.tr/etiket/jaxp-jar" rel=tag>jaxp.jar</A>;%XML_HOME%parser.jar library.xml

Unix Ortamında
1
2
3
javac -classpath ${XML_HOME}/jaxp.jar:${XML_HOME}/parser.jar BooksLibrary.<SPAN class=colorKeywords18><STRONG>Java</STRONG></SPAN>

<SPAN class=colorKeywords18><STRONG>Java</STRONG></SPAN> -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


« Önceki Konu Sonraki Konu »

Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)