Hallo. Ich habe ein esoterisches Problem. Ich bin zuversichtlich mit JSL und muss einen benutzerdefinierten Importer für eine seltsam formatierte XML-Datei erstellen. Ich mache mir Sorgen, dass der JSL-Parser bei meiner Formatierung nicht funktioniert, da er sich von jeder gefundenen Beispieldatei unterscheidet.
XML-Beispiele sind wie folgt formatiert:
x: FullRows = "1">
Name
Alter
...
Während meine aussieht wie:
04Y054F
71538-01
Beachten Sie, dass die Daten in spitzen Klammern gespeichert sind und nicht in den spitzen Klammern. Mein Testcode lautet wie folgt
xmlStr = Load Text File( My testing data above :) );
nt = New Table(
"Testing Table",
New Column("Lot Number", Character),
New Column("PUID", Character)
);
iRow=0;
Parse XML(
xmlStr,
On Element(
"LOT_REPORT_TRX",
Start Tag(
nt << add row(1);
iRow++;
)
),
On Element(
"LOT_REPORT",
Start Tag(
nt:Lot Number[iRow] = XML Attr( "LOT_NUMBER" );
)
),
);Aber es gibt nur leere Zellen zurück und ich kann nicht verstehen, warum. Im Moment versuche ich nur, Daten abzurufen, sodass der Code nur ein Element umfasst. Irgendwelche Gedanken oder Dokumentationsvorschläge?
Fantastisch, das ist wirklich hilfreich.
Vielen Dank 
Das XML-Format verwendet verschachtelte Tags, und der XML-Code (Parse) von XML hängt von der Dateistruktur ab.
Im Anhang finden Sie 2 Beispiele für simulierte XML-Dateien. Sie haben nicht genügend Details angegeben, um die tatsächliche Struktur Ihrer Datei zu kennen. Für eine ex1.xml.txt gibt es beispielsweise einen TRX (Transaktion und zahlreiche Los- und Part-Tags). Dies emuliert eine Datei nach Tag oder nach Persson-Typ.
Die zweite Datei ex2.xml.txt emuliert das Szenario, in dem jedes Los und jedes Teil seine eigene Transaktion TRX ist. Das angehängte Skript analysiert beide.
Beachten Sie, dass Sie die Beispiele umbenennen müssen (die TXT-Datei löschen).
Es kann vorkommen, dass XML-Dateien Kopfzeileninformationen enthalten, auf die viele Zeilen, Spalten oder Zellen folgen.
Hoffe das hilft.