Nis
26
2020
26
2020
Clob XML Ayrıştırılması XPATH
Yazar Mustafa Korkmaz
Yorum Yok
Merhaba,
XML formatındaki clob veri yapısındaki verinin ayrıştırılması ve veri yapısından istenilen değerlerin okunması için örnek xpath ile plsql kodları aşağıdaki gibidir.
<tns:main xmlns:tns="https://www.orasistem.com/consultant/developers">
<tns:consultant>
<tns:name title="princible" contacttype="phone" phonenumber="5067705857">mustafa</tns:name>
<tns:surname>korkmaz</tns:surname>
<tns:age>38</tns:age>
</tns:consultant>
<tns:consultant>
<tns:name title="senior" contacttype="email" emailaddress="bkorkmaz@orasistem.com">barış</tns:name>
<tns:surname>korkmaz</tns:surname>
<tns:age>27</tns:age>
</tns:consultant>
</tns:main>
clob olrak verilen xml veri yapısına uygun olan yapı xmltype ile önce xml le çevirilir. Ardından xpath ile istenilen veriler içerisinden okunur. Ayrıca aşağıdaki extract cümlesi içerisinde xml veri yapısında olan namespace ve element attribute leride dikkate alınarak ayrıştırma yapılmıştır.
DECLARE
l_xml CLOB
:= '<tns:main xmlns:tns="https://www.orasistem.com/consultant/developers">
<tns:consultant>
<tns:name title="princible" contacttype="phone" phonenumber="5067705857">mustafa</tns:name>
<tns:surname>korkmaz</tns:surname>
<tns:age>38</tns:age>
</tns:consultant>
<tns:consultant>
<tns:name title="senior" contacttype="email" emailaddress="bkorkmaz@orasistem.com">barış</tns:name>
<tns:surname>korkmaz</tns:surname>
<tns:age>27</tns:age>
</tns:consultant>
</tns:main>';
BEGIN
DBMS_OUTPUT.put_line (
xmltype (l_xml).EXTRACT (
'/tns:main/tns:consultant[1]/tns:name/text()',
'xmlns:tns="https://www.orasistem.com/consultant/developers"').getStringVal ());
DBMS_OUTPUT.put_line (
xmltype (l_xml).EXTRACT (
'/tns:main/tns:consultant[2]/tns:name/text()',
'xmlns:tns="https://www.orasistem.com/consultant/developers"').getStringVal ());
DBMS_OUTPUT.put_line (
xmltype (l_xml).EXTRACT (
'/tns:main/tns:consultant/tns:name[@title="princible"]/text()',
'xmlns:tns="https://www.orasistem.com/consultant/developers"').getStringVal ());
DBMS_OUTPUT.put_line (
xmltype (l_xml).EXTRACT (
'/tns:main/tns:consultant/tns:name[@title="senior"]/text()',
'xmlns:tns="https://www.orasistem.com/consultant/developers"').getStringVal ());
DBMS_OUTPUT.put_line (
xmltype (l_xml).EXTRACT (
'/tns:main/tns:consultant[tns:age[. < 30]]/tns:name/text()',
'xmlns:tns="https://www.orasistem.com/consultant/developers"').getStringVal ());
END;
Mustafa Korkmaz
Oracle Applications Developer at Partnera
2005 yılında Dokuz Eylül Üniversitesi Endüstri Mühendisliğinden Mezun
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde Bilgisayar
Mühendisliği Doktora Eğitimine Başladı.10 yılı aşkın bir zamandır Oracle
Ürünleri Uygulama Yazılım Uzmanı Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD,
Oracle Database , PL/SQL , Java , Makine Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate) ve
PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Latest posts by Mustafa Korkmaz (see all)
- Log4j CVE-2021-45046 Zafiyeti - 16 Aralık 2021
- Materialized View Verisi Purge ya da Delete (atomic_refresh) - 12 Kasım 2021
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020
İlgili Yazılar