Nis
26
2020
26
2020
Clob XML Ayrıştırılması XPATH
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;
Latest posts by Mustafa Korkmaz (see all)
- Write for us sponsored posts - 16 Mayıs 2025
- CameraBag Photo Software 2024.0.0 Download Free For PC - 16 Mayıs 2025
- HTML Görüntüsü için Unicode Dönüşümü - 27 Temmuz 2020
İlgili Yazılar
Yazar




