Anmelden

View Full Version : erste Schritte mit XML



muadeep
02-02-11, 14:33
Hi *all

versuch mich seit neuem mit X M L - I N T O

irgendwie komm ich da mom. auf keinen grünen Zweig !!!

ich habe folgende X M L-Datei in einem IFS Verzeichnis liegen und würde diese gerne in/mit einem ILE Pgm. lesen.

Für mich wären das Datum(time), das Währungskürzel(currency) und die entsprechenden Kurse(rate) interessant!



<?xml version="1.0" encoding="UTF-8"?>
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
<gesmes:name>European Central Bank</gesmes:name>
</gesmes:Sender>
<Cube>
<Cube_time="2011-02-01">
<Cube_currency="USD" rate="1.3755"/>
<Cube_currency="JPY" rate="112.19"/>
<Cube_currency="BGN" rate="1.9558"/>
</Cube>
</Cube>
</gesmes:Envelope>

Allrounder
03-02-11, 11:00
Erst einmal scheint mir die XML-File nicht ganz valide zu sein.
Am besten mal in einen XML-Viewer laden, da lässt sich die Struktur auch einfacher ablesen.

Ein Problem beim Parsen sind sicher die Doppelpunkte in den Tagnamen. Wenn es ein einfacher XML-Into (ohne Handler) in eine DS mit gleichem Aufbau sein soll, müssen die Tagnamen der XML-File mit den Feldnamen der Datenstruktur übereinstimmen. RPG-Variablen mit Doppelpunkt sind nicht zulässig.

Wenn Du keinen Einfluss auf die XML-File hast, brauchst Du wohl XML-SAX, um die Elemente einzulesen.

Fuerchau
03-02-11, 11:17
Wichtig ist die Definitionen der Variablen und Stukturen und die korrekte Angabe des Pfades.
Vielleicht wirst du hier etwas schlauer:
Expected format of XML data (http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/topic/rzasd/sc0925081032.htm?resultof=%22%78%6d%6c%22%20%22%69 %6e%74%6f%22%20)

Der Pfad der Daten müsste

gesmes:Envelope/Cube/Cube_time

sein.
Allerdings ist das XML nicht ganz korrekt, da die Einträge Cube_time und Cube_Currency nur aus Attributen bestehen und keinen Node-Namen enthalten.

B.Hauser
03-02-11, 11:34
... Namespaces und : sollten mit dem brandneuen PTF mit XML-INTO verarbeitet werden können.

Release 6.1: PTF SI42426
Release 7.1: PTF SI42510

Birgitta

muadeep
03-02-11, 11:41
mhhh,

das ist aber genau die xml wie sie mir von der Europäischen Zentral Bank (ECB) zur Verfügung gestellt wird!


http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

KM
03-02-11, 11:56
Hallo,

hier ist das Problem mit den Namespaces näher beschrieben:

XML Namespace Support Added to RPG&#039;s XML-INTO | System iNetwork (http://systeminetwork.com/article/xml-namespace-support-added-rpgs-xml)

Gruß,
KM

muadeep
03-02-11, 15:14
hab grad mal nachgeschaut!

PTF SI42426 für V6.R1 ist installiert!

irgendwie komm ich da aber trotzdem nicht weiter!

wie muss/kann ich die einzelnen Felder in der Datenstruktur definieren?

Dschainers
15-01-15, 13:12
Ich muss diesen Fall nochmal aufmachen, wie wurde das mit den Doppelpunkten gelöst. Ich bin ein alter Mann und kenn mich da nicht so genau aus. Ich hab eine ZUGFERD-Datei, da sind alles Tags mit "RAM:Name" vorhanden. Bitte einen kleinen Tip.:eek:

Dschainers
15-01-15, 13:13
Ein kleines Beispiel wäre schön. :)
Vielen Dank.

Dschainers
15-01-15, 13:49
Hallo Forum,
ich hab es selbst rausgefunden.

ns=remove

Viele Grüße