[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2004
    Beiträge
    34

    ILE RPG V5R4M0 und SAX-Parser

    Hallo *ALL,

    Ich möchte mit einem ILE-RPG-Prog eine XML-Datei, die im IFS liegt, mit SAX parsen. Hat jemand Erfahrung damit ? Kann ich die Datei direkt aus dem IFS auslesen ?

    Vielen Dank im voraus.

  2. #2
    Registriert seit
    Apr 2005
    Beiträge
    104
    Genau so habe ich es in Erinnerung (liegt aber schon etwas zurück)

    Aber egal ob DOM- oder SAX-Parser, mir hat damals nicht gefallen, daß der XML-Input erstmal als IFS-Datei gespeichert werden sollte. Bei mir sollten Messages verarbeitet werden, die ich über MQ-Series empfangen wollte, und so habe ich flugs einen eigenen rekursiven XML-Parser geschrieben, der das ganze Parsen im RAM erledigen konnte. MQ-Series hat mir die Persistenz der Nachrichten ja auch ohne eignenen Speichervorgang garantiert.

    Mein gedanklicher Ansatz war im Prinzip die logische Fortsetzung von SAX. Wenn ich schon On The Fly parse, dann wollte ich die Tags und ihre Inhalte auch unmittelbar verarbeiten ...

    Input = Request-Message in XML
    Parser, Adapter
    kurzer Prozess
    Response-Message = Output in XML

    Guss Fritz

  3. #3
    Registriert seit
    Dec 2006
    Beiträge
    15
    Hallo
    wir verarbeiten XML-Daten einer Kasse mit den XML-Parsing-Funktionen aus ILE/RPG (gibt es ab V5R4).
    Das Funktioniert ohne Probleme direkt mit den IFS-Files. Ist auch nicht schwierig, die Dokumente mit Handler etc. zu verarbeiten. Allerdings muss ich dazu sagen, dass unsere Dokumente nur eine Ebene im XML haben.
    Gruss
    Peder

  4. #4
    Registriert seit
    Dec 2003
    Beiträge
    106
    Wenn man nicht Java zur Verfügung hat und die Anzahl der Daten die per XML geliefert werden begrenzt ist, dann gehts auch ganz einfach (QaD) so:

    Beispiel

    Code:
                                                                      
    d data            ds                  qualified               inz 
    d header                              likeds(header_ds)       inz 
    d transactions                        likeds(transactions_ds) inz 
                                                                      
    d header_ds       ds                  qualified inz               
    d file_name                    100a             inz               
    d export_date                  100a             inz               
    d record_count                  10a             inz               
                                                                      
    d transactions_ds...                                              
    d                 ds                  qualified     inz           
    d tx                                  likeds(tx_ds) inz           
    d                                     dim(1000)                   
    
    d tx_ds           ds                  qualified inz   
    d prt                            4a             inz   
    d type                          20a             inz   
    d date                          10a             inz   
    d crd_no                        16a             inz   
    d crd_value                     10a             inz   
    ....
    
    // Daten einlesen                                              
    xml-into data %xml('home/blablub/abc.xml') :              
                       'doc=file allowextra=yes allowmissing=yes');
    
    ...

Similar Threads

  1. ILE RPG / SQL Füllen einer Feldgruppe
    By homue in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 18-07-07, 16:47
  2. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  3. DDS in ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 82
    Letzter Beitrag: 19-10-06, 15:37
  4. Return ILE RPG
    By Squall in forum IBM i Hauptforum
    Antworten: 31
    Letzter Beitrag: 28-09-06, 17:53
  5. Rechnen mit Datumsfeldern in ILE RPG
    By Angela in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-08-06, 10:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •