-
XML-Datei einlesen
Hallo Forum,
wie lese ich u.a. HTML-File (Beispiel für einen Artikelstamm ohne Mehrfachsätze) mit dem Befehl XML-INTO ein ? Für Hilfe wäre ich dankbar.
<?xml version="1.0" encoding="UTF-8"?>
<SHARK-ERP><Article><ArticleNumber>4711</ArticleNumber><Owner/><AlternativeArticleNumber>4711_1</AlternativeArticleNumber><EAN>1111111111111</EAN><Description>Kölner Wasser</Description><Description1>Echt kölnisch Wasser</Description1><Description2>Wasser aus Köln 250ml</Description2><Unit>Stück</Unit><BatchNumberRequired>0</BatchNumberRequired><SerialNumberRequired>0</SerialNumberRequired><Packages><Package><Replenishments><Replenishment><Zone>A</Zone><LocationStrategy>Floating</LocationStrategy></Replenishment></Replenishments><LocationTypes><LocationType><Name>LMB_821_4/7</Name><Qty>50</Qty></LocationType><LocationType><Name>LMB_821_7/7</Name><Qty>90</Qty></LocationType></LocationTypes></Package></Packages><Misc1/><Misc2/><Misc3/><Misc4/><Misc5/></Article>
-
Schau dir die Strukturen genau mittels XML-Editor an (z.B. XML-Notepad).
Anschließend baust du eine entsprechende hierarchische DS auf.
Beim Einlesen gibst du entsprechende Optionen für: ignorieren fehlende Knoten, übersetzen ungültige Zeichen, ignorieren GroßKlein an.
Hier findest du eine Diskussion dazu:
http://newsolutions.de/forum-systemi...518-XML-Parser
-
Hi Alex,
anbei die Lösung für die Aufgabe
Code:
ctl-opt main(main) dftactgrp(*no) option(*nounref);
//------------------------------------------------------------------//
// //
// Test - Parse XML - Alex //
// //
//----------------- //
// R.Ross 08.2019 * //
//------------------------------------------------------------------//
// Array XML-File //
// Das Root-Element SHARK-ERP wird mit Rsp = Response überschrieben //
// path=SHARK-ERP //
//------------------------------------------------------------------//
dcl-ds Rsp qualified inz;
dcl-ds Article;
ArticleNumber char(10);
AlternativeArticleNumber char(10);
EAN char(13);
Description char(30);
Description1 char(30);
Description2 char(30);
Unit char(30);
BatchNumberRequired char(30);
SerialNumberRequired char(30);
dcl-ds Packages;
dcl-ds Package;
dcl-ds Replenishments;
dcl-ds Replenishment;
Zone char(10);
LocationStrategy char(10);
end-ds;
end-ds;
dcl-ds LocationTypes dim(10);
dcl-ds LocationType;
Name char(30);
Qty char(10);
end-ds;
end-ds;
end-ds;
end-ds;
end-ds;
end-ds;
//------------------------------------------------------------------//
// Main //
//------------------------------------------------------------------//
dcl-proc main;
dcl-s LocOpt varchar(256);
dcl-s LocFile varchar(256);
Locfile = '/home/import/xml/NewSolutions01.xml';
LocOpt = 'doc=file +
path=SHARK-ERP +
case=any +
allowextra=yes +
allowmissing=yes'; // XML-Options
xml-into rsp %xml(LocFile:LocOpt);
end-proc;
//------------------------------------------------------------------//
Herzliche Grüße
Rainer
-
Ich hätte da noch den Counter für die DIM's mit aufgenommen;-).
-
Jetzt mit Counter
Code:
ctl-opt main(main) dftactgrp(*no) option(*nounref);
//------------------------------------------------------------------//
// //
// Test - Parse XML - Alex //
// //
//----------------- //
// R.Ross 08.2019 * //
//------------------------------------------------------------------//
// Array XML-File //
// Das Root-Element SHARK-ERP wird mit Rsp = Response überschrieben //
// path=SHARK-ERP //
//------------------------------------------------------------------//
dcl-ds Rsp qualified inz;
dcl-ds Article;
ArticleNumber char(10);
AlternativeArticleNumber char(10);
EAN char(13);
Description char(30);
Description1 char(30);
Description2 char(30);
Unit char(30);
BatchNumberRequired char(30);
SerialNumberRequired char(30);
dcl-ds Packages;
dcl-ds Package;
dcl-ds Replenishments;
cnt_Replenishment uns(10);
dcl-ds Replenishment dim(05);
Zone char(10);
LocationStrategy char(10);
end-ds;
end-ds;
dcl-ds LocationTypes;
cnt_LocationType uns(10);
dcl-ds LocationType dim(05);
Name char(30);
Qty char(10);
end-ds;
end-ds;
end-ds;
end-ds;
end-ds;
end-ds;
//------------------------------------------------------------------//
// Main //
//------------------------------------------------------------------//
dcl-proc main;
dcl-s LocOpt varchar(256);
dcl-s LocFile varchar(256);
Locfile = '/home/import/xml/NewSolutions01.xml';
LocOpt = 'doc=file +
path=SHARK-ERP +
countprefix=cnt_ +
case=any +
allowextra=yes +
allowmissing=yes'; // XML-Options
xml-into rsp %xml(LocFile:LocOpt);
end-proc;
//------------------------------------------------------------------//
Similar Threads
-
By HBGC in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 28-02-18, 16:32
-
By _MG_ in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 12-01-17, 08:16
-
By hteufl in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 09-10-16, 12:36
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 12-04-14, 17:29
-
By elmar in forum NEWSboard Server Software
Antworten: 1
Letzter Beitrag: 19-05-03, 09:12
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks