Haz
21
2018

DELETEXML Builtin Fonksiyonu ile xml içerisinden istenen etiketi silme

Merhabalar,

Oracle 10g ile birlikte gelen DELETEXML fonksiyonu ile kompleks xml ler içerisinden istenmeyen alanların çıkarılması aşağıdaki örnek ile sağlanabilinir.

DELETEXML(xmltype_instance,xpath_string,namespace_string)

Örneğimizde standard efatura örneği kullanılmıştır.

File_c  clob tipinde xml veri içermelidir.

 
SELECT a.getClobVal()
FROM TABLE
(XMLSEQUENCE
(DELETEXML ((xmltype(file_c)),
'/Invoice/cac:InvoiceLine/cac:Item/cbc:Description',
'xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" '
|| 'xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" '
|| 'xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" '
|| 'xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" '
|| 'xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" '
|| 'xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" '
|| 'xmlns:ubltr="urn:oasis:names:specification:ubl:schema:xsd:TurkishCustomizationExtensionComponents" '
|| 'xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" '
|| 'xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" '
|| 'xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" '
)
)
) a

Script çalıştırıldıktan sonra Invoice/cac:InvoiceLine/cac:Item/cbc:Description alanı xmlden çıkartılacak şekilde güncellenecektir.

 

Ozan Arıkan

1988 İstanbul doğumlu. İstanbul Üniversitesi Yönetim Bilişim
Sistemlerinden mezun oldu. 2012 yılından Beri Oracle e-Business
Suite Uygulama Geliştirme Fonksiyonel ve Teknik Danışman olarak
DbOptimize bünyesinde kariyerine devam etmektedir.
Mail: oznarkn@gmail.com
Ozan Arıkan


Yorum yapın

*