Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

select xml data without namespace

Frank LehmannDec 17 2016 — edited Dec 18 2016

Hello helpers,

i have this xml data:

<?xml version="1.0" encoding="UTF-8"?>

<json><state>1</state><stateText>Ok</stateText>

<result><umsatzparameter><segmentVersion>6</segmentVersion><maximaleAnzahlAuftraege>1</maximaleAnzahlAuftraege><anzahlSignaturenMindestens>1</anzahlSignaturenMindestens><sicherheitsklasse>0</sicherheitsklasse><speicherzeitraum>99</speicherzeitraum><eingabeAnzahlEintraegeErlaubt>N</eingabeAnzahlEintraegeErlaubt><alleKontenErlaubt>N</alleKontenErlaubt></umsatzparameter>

<umsatzinfo>

<row><auftragsReferenzNummer>STARTUMS</auftragsReferenzNummer><kontonummer>1234567890</kontonummer><auszugsNr>0</auszugsNr><anfangssaldo><kennung>C</kennung><buchungsdatum>161125</buchungsdatum><waehrungsart>EUR</waehrungsart><betrag>31761,70</betrag></anfangssaldo>

<umsaetze>

<row>

<valuta>161125</valuta>

<kennung>C</kennung>

<buchungstext>GUTSCHR.SEPA</buchungstext>

<betrag>123,45</betrag>

<buchungsdatum>1125</buchungsdatum>

<verwendungszweck02>Verwendungszweck</verwendungszweck02>

<auftraggeberBankkennung>INGDDEFFXXX</auftraggeberBankkennung>

<kundenreferenz>NONREF</kundenreferenz>

<geschaeftsvorfallCode>166</geschaeftsvorfallCode>

<verwendungszweck01>Referenz NOTPROVIDED</verwendungszweck01>

<auftraggeberName1>Max Mustermann</auftraggeberName1>

<verwendungszweck03>Nr 126, 31.10.2016</verwendungszweck03>

<auftraggeberKontonummer>DE223344556677889</auftraggeberKontonummer>

<ruecklastschriften>000</ruecklastschriften>

<buchungsschluessel>N051</buchungsschluessel>

<verwendungszweck>Referenz NOTPROVIDEDVerwendungszweckNr 126, 31.10.2016</verwendungszweck>

<auftraggeberName>Max Mustermann</auftraggeberName>

</row>

<row><valuta>161125</valuta>

<kennung>D</kennung>

<buchungstext>SEPA ÜBERW.</buchungstext>

<betrag>36,89</betrag>

<buchungsdatum>1125</buchungsdatum>

<verwendungszweck02>00</verwendungszweck02>

<verwendungszweck05> bezahlt</verwendungszweck05>

<auftraggeberBankkennung>INGDDEFFXXX</auftraggeberBankkennung>

<kundenreferenz>NONREF</kundenreferenz>

<geschaeftsvorfallCode>116</geschaeftsvorfallCode>

<verwendungszweck04>wurde bereits am 17.11.2016</verwendungszweck04>

<verwendungszweck01>QCA9T6&#x2F;DE223344556677889</verwendungszweck01>

<auftraggeberName1>Max Mustermann</auftraggeberName1>

<verwendungszweck03>Beleg 126 v. 31.10.2016</verwendungszweck03>

<auftraggeberKontonummer>DE223344556677889</auftraggeberKontonummer>

<ruecklastschriften>000</ruecklastschriften>

<buchungsschluessel>N020</buchungsschluessel>

<verwendungszweck>QCA9T6&#x2F;DE223344556677889 126 v. 31.10.2016wurde bereits am 17.11.2016 bezahlt</verwendungszweck>

<auftraggeberName>Max Mustermann</auftraggeberName>

</row>

</umsaetze>

<schlusssaldo><kennung>C</kennung><buchungsdatum>161219</buchungsdatum><waehrungsart>EUR</waehrungsart><betrag>12345,66-</betrag></schlusssaldo><blz>12345678</blz>

</row>

</umsatzinfo>

</result>

</json>

This query against this data is working fine:

select

        ExtractValue(Value(p),'/json/state'),

        ExtractValue(Value(p),'/json/stateText')

        into ls_errorcode,ls_errortext

        FROM TABLE(XMLSEQUENCE(EXTRACT(p_xml, '/json'))) p;

But no more values i am not able to get.

I tried this, but never got values back, only the count of rows, which are available with empty variables.

   for x in (select

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/valuta') as valuta,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/kennung') as kennung,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/buchungstext') as buchungstext,

          ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/betrag') as betrag

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/buchungsdatum') as buchungsdatum,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck02') as verwendungszweck02,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberBankkennung') as auftraggeberBankkennung,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/kundenreferenz') as kundenreferenz,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/geschaeftsvorfallCode') as geschaeftsvorfallCode,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck01') as verwendungszweck01,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberName1') as auftraggeberName1,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck03') as verwendungszweck03,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberKontonummer') as auftraggeberKontonummer,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/ruecklastschriften') as ruecklastschriften,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/buchungsschluessel') as buchungsschluessel,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/verwendungszweck') as verwendungszweck,

          --ExtractValue(Value(p),'/json/result/umsatzinfo/row/umsaetze/row/auftraggeberName') as auftraggeberName

       FROM TABLE(XMLSEQUENCE(EXTRACT(p_xml, '/json/result/umsatzinfo/row/umsaetze/row'))) p) loop

         dbms_output.put_line('Auftraggeber :' ||  ' Betrag : ' || x.betrag);

       end loop;

Could you help me to understand, how to get all values ?

Thanks in advance

Regards Frank

This post has been answered by Paulzip on Dec 18 2016
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jan 15 2017
Added on Dec 17 2016
2 comments
868 views