Importieren mehrerer XML-Dateien aus einem Ordnerspeicherort<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe einen Ordner mit vielen XML-Dateien, die ich öffnen, Informationen daraus extrahieren, diese neuen Informationen separat speichern und dann beide Dateien schließen möchte. Ich kann dies einzeln mit dem Add-In „XML importieren“ tun, möchte aber gerne einen kompletten Ordner automatisch durchgehen, um den Aufwand und die Zeit zu reduzieren, die ich dafür aufwende.
Ich habe einen Beispielordner mit XML-Dateien angehängt, um zu helfen, falls jemand die Zeit dazu hat.
Grüße
David
Betreff: Importieren mehrerer XML-Dateien aus einem OrdnerNur zur Aktualisierung für alle, die danach suchen ...
Dies lässt sich jetzt in JMP 15 problemlos mit dem handhaben XML-Import-Assistent Und Mehrere Dateien importieren .
Sie können den Import-Assistenten für eine einzelne Datei verwenden, um die XML-Struktur zu definieren. Kopieren Sie dann die XML-Einstellungen aus dem Quellskript und fügen Sie sie in die Einstellungen im Dialogfeld „Mehrere Dateien importieren“ ein.
Betreff: Importieren mehrerer XML-Dateien aus einem OrdnerDieser Add-In-Code ist sehr gut organisiert und seine gesamte Leistungsfähigkeit und Funktionalität kann durch Ausführen einer „Master“-Funktion genutzt werden. Daher ist es hier recht einfach, die GUI des Add-Ins zu umgehen und es in einer Schleife auf Ihren XML-Dateien arbeiten zu lassen.
Unten finden Sie eine Möglichkeit, das Add-In mit Ians Schleife zu kombinieren. Beachten Sie, dass Sie möglicherweise die Pfadvariable festlegen müssen, dh den Pfad zu dem Ort, an dem das Add-In auf Ihrem Computer installiert ist. Wenn Sie diesen Code erweitern, vermeiden Sie außerdem die Verwendung von Variablennamen, die bereits vom eingebundenen Code des Add-Ins verwendet werden. Andernfalls könnten Probleme auftreten (z. B Ich konnte es nicht verwenden ich als Schleifeniterator).
// Define path variable (may already be defined)
Set Path Variable("ADDIN_HOME", "Path/to/my/Addins");
// Define all the functions of the Addin but skip the GUI
Include("$ADDIN_HOME/com.jmp.matthew.wolfe.xml.importer/xml parser III.jsl") << close window;
dir = Pick Directory("Select the directory containing your files", "$DESKTOP");
fList = Files In Directory(dir);
myInfo = [];
For(filenr = 1, filenr <= N Items(fList), filenr++,
// Use Function from Addin to parse file into a data table
dt = runParser(dir || "/" || fList[filenr]);
//Extract your information here! (e.g n rows of dt)
myInfo |/= N Rows(dt);
//Close the data table
Close(dt, no save);
);
// Did it work? Summarize in a new data table
New Table("my xml files",
add rows(N Items(fList)),
New Column("Sample", character, Values(fList)),
New Column("n rows", numeric, values(myInfo))
);
Betreff: Importieren mehrerer XML-Dateien aus einem OrdnerHallo David,
Schauen Sie sich das XML-Add-In an https://community.jmp.com/docs/DOC-7728 . Dies in Kombination mit was Ian@JMP bereitgestellt, sollte Ihnen den Einstieg erleichtern.
Am besten,
Stan
Betreff: Importieren mehrerer XML-Dateien aus einem OrdnerTut mir leid, ich dachte, das Problem sei die Schleife und nicht das Einlesen. Ja, Sie müssen das XML analysieren, um das Gewünschte herauszuziehen, nachdem Sie „LoadTextFile()“ verwendet haben, um den Inhalt in eine JSL-Variable einzufügen. 'ParseXML()' sollte helfen.
Betreff: Importieren mehrerer XML-Dateien aus einem OrdnerIan,
Vielen Dank für die prompte Antwort, aber ich kann das nicht mit XML-Dateien zum Laufen bringen. Muss ich diese oder eine andere Technik analysieren, um diesen Dateityp zu öffnen?
Grüße
David
Betreff: Importieren mehrerer XML-Dateien aus einem OrdnerSie benötigen so etwas, natürlich mit „Open()“ statt „Print()“:
dir = PickDirectory("Select the directory containing your files", "$DESKTOP");
fList = FilesInDirectory(dir);
for(i=1, i<=NItems(fList), i++,
Print(dir||"/"||fList[i]);
);