Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Parsowanie XML w oracle pl/sql

Myślę, że są dwie rzeczy, które się mylisz:

  • Po pierwsze, wyrażenie XPath //@GovernmentCode/ jest źle. Nie powinien mieć końcowego / i nie chcesz @ albo ponieważ GovernmentCode jest elementem, a nie atrybutem.

  • Po drugie, musisz określić deklarację przestrzeni nazw XML w wywołaniu EXTRACTVALUE jak również w Twoim wezwaniu do EXTRACT .

Dokonanie tych zmian pozostawia ci następujący kod. Przeprowadziłem szybki test i wydawało się, że działa:

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;   


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie sekwencji dla pola varchar2 w Oracle

  2. Jak zliczyć(*) wiele tabel, rozmiar i przestrzeń tabel w jednym zapytaniu?

  3. Upuść partycje starsze niż 2 miesiące

  4. Oświadczenie Oracle

  5. Migracja bazy danych Oracle z AWS EC2 do AWS RDS, część 3