Change Font Size

Change Screens

Change Profile

Change Layouts

Change Direction

Change Menu Styles

Cpanel
Salı, 11 Ocak 2011 11:47

ORACLE – XML – 1

Yazan&Gönderen  Ercan Yazgan
Bu Öğeyi Derecelendir
(1 Oy)


Oracle Table’lardan veriyi XML formunda çekme

CREATE TABLE DBT 

( 

NUM NUMBER, 

ADI VARCHAR2(14), 

SOYADI VARCHAR2(22), 

TAR DATE 

);

Şeklinde bir tablo oluşturalım.

Şimdi de tablomuza aşağıdaki kayıtları ekleyelim.

Insert into DBT 

(NUM, ADI, SOYADI,TAR) 

Values 

(1, 'Ercan', 'Yazgan', trunc(sysdate)); 

Insert into DBT 

(NUM, ADI, SOYADI) 

Values 

(2, 'yusuf', 'Arslan', trunc(sysdate)); 

Insert into DBT 

(NUM, ADI, SOYADI) 

Values 

(3, 'Samet', 'Aslan',trunc(sysdate)); 

Tabloya bir bakalım :)

select * from dbtable

Num     Ad           Soyad    Tar

-----        ------      -------    -------------

1              Ercan     Yazgan  21/12/2010

2              yusuf     Arslan   21/12/2010

3              Samet   Aslan     21/12/2010

Şimdi gelelim kuru fasulyenin faydalarına :) Biz bu var olan veriyi xml formunda görmek istiyoruz. Nerede kullanıldığına gelince; örnek olarak web service ile çalışan projelerde veriyi göndermek için xml formu kullanılır ve data transferi yapabilmek için datayı xml formuna sokmak gerekir. Bunun için biraz xml nedir gibi bir sorunun cevabını da vermek gerektiğini şu an hissettim :)

Xml bir veri taşıma formudur diyebiliriz. XML herhangi bir programlama dili veya bir script dil değildir.

Sadece, verinin platformlar arası anlaşılır, basit ve ortak bir görünümde taşınabilmesini sağlayan bir formdur. Mesela “Personel” adlı bi tablomuzda adı ve soyadı kolonları olsun. Hangi veritabanında tutarsak tutalım bilgisayar bu datanın aşağıdaki şekilde oldugunu anlamaz.

Personel

Adı       Soyadı

----       ---------

Ercan    Yazgan

Yani Veri formunu kendi kendine çözemez, adı : ercan soyadı : yazgan oldugunu sınıflayamaz. Fakat bu veri şu formda olduğu zaman tüm kaynaklar, veriyi anlayabilir ve sınıflayabilir :

ercan

yazgan

İşte bu xml formu görüldüğü gibi veriyi belli bir sınıf kapsamında hiyerarşiye sokuyor.

XML in ne oldugundan kısaca bahsettikten sonra lafı fazla uzatmadan konuya döneyim. Yukarıda oluşturduğumuz tablonun datasını xml formuyla çekmek için basitçe aşağıdaki kodu sorgulayabiliriz :

select xmlelement("xml_formu", 

xmlforest(d.NUM, d.ADI, d.SOYADI, d.TAR) 

) 

from dbtable d;

--Gelen sonuç :

1

Ercan

Yazgan

2010-12-21

2

yusuf

Arslan

2010-12-21

3

Samet

Aslan

2010-12-21

Burada bir konuya daha değinmek istiyorum, xmlelement herbir satırı bir element olarak görmek için kullanılır yani hersatırı başlıklamak gibi düşünebiliriz. Yoksa şu şekilde de bir sorgu yazabiliriz :

select xmlforest(d.NUM, d.ADI, d.SOYADI, d.TAR) 

from dbtable d; 

--sonuç :

<NUM>1NUM> 

<ADI>ErcanADI>

<SOYADI>YazganSOYADI>

<TAR>2010-12-21TAR>

<NUM>2NUM>

<ADI>yusufADI>

<SOYADI>ArslanSOYADI>

<TAR>2010-12-21TAR>

<NUM>3NUM>

<ADI>SametADI>

<SOYADI>AslanSOYADI>

<TAR>2010-12-21TAR>

Şeklinde gelecektir.

Umarım faydalı olmuştur, bir sonraki yazımda ise xml formundaki bir stringin içerisinden veriyi parse edip tabloya aktarmakla ilgili bir bilgi paylaşıyor olacağım.

Ercan Yazgan

Ercan Yazgan

Oracle Technologies Specialist

E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir

Yorum yaz

Make sure you enter the (*) required information where indicated.
Basic HTML code is allowed.

You are here Kategoriler ORACLE ORACLE – XML – 1