Ich denke, es gibt zwei Dinge, die Sie hier falsch machen:
-
Erstens, Ihr XPath-Ausdruck
//@GovernmentCode/
ist falsch. Es sollte kein nachgestelltes/
haben , und Sie möchten den@
nicht entweder weilGovernmentCode
ist ein Element, kein Attribut. -
Zweitens müssen Sie die XML-Namespace-Deklaration in Ihrem Aufruf von
EXTRACTVALUE
angeben sowie in Ihrem Aufruf vonEXTRACT
.
Wenn Sie diese Änderungen vornehmen, bleibt Ihnen der folgende Code. Ich habe es kurz getestet und es schien zu funktionieren:
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;