Saya pikir ada dua hal yang Anda salah di sini:
-
Pertama, ekspresi XPath Anda
//@GovernmentCode/
salah. Seharusnya tidak memiliki/
. tambahan , dan Anda tidak ingin@
entah karenaGovernmentCode
adalah elemen, bukan atribut. -
Kedua, Anda harus menentukan deklarasi namespace XML dalam panggilan Anda ke
EXTRACTVALUE
serta dalam panggilan Anda keEXTRACT
.
Membuat perubahan ini memberi Anda kode berikut. Saya mencobanya dengan cepat, dan sepertinya berhasil:
SELECT EXTRACTVALUE (VALUE (xml_list), '//GovernmentCode', 'xmlns="http://www.irs.gov/efile"') AS SysID
INTO lv_transid
FROM TABLE (
XMLSEQUENCE (
EXTRACT (in_xmlclob, '/AckTransmission/Acknowledgement',
'xmlns="http://www.irs.gov/efile"'))) xml_list;