Warum verwendet die XML-Bearbeitung / XPath-Suche so viel Speicherplatz?
Ich habe eine große XML-Datei (etwa 37 MB - dies ist die zugrunde liegende XML-Datei in einem Word-Dokument mit etwa 350 Seiten), die ich mit XPath durchsuchen möchte. Ich mache das "manuell" und nicht programmgesteuert, indem ich die Datei in einem XML-Editor öffne und dort suche.
Ich habe es mit Xmplify, QXmlEdit, SublimeText mit der XPath-Erweiterung usw. versucht, und alle leiden unter dem gleichen Problem: Das Öffnen der Datei ist lächerlich langsam und ungeheuer viel Speicher, und eine XPath-Suche ist nahezu unmöglich .
Ich habe beispielsweise versucht, die Datei in Xmplify zu öffnen. Das dauerte etwa drei Minuten und ohne die Verwendung anderer Dokumente stieg der Speicherplatz von Xmplify auf etwa 1 GB.
Dann habe ich versucht, diese XPath-Abfrage auszuführen (ich suche nach allen verfolgten Einfügungen, die aus der Zeichenfolge en bestehen ):
//w:ins[w:r/w:t = 'en']
Das gab mir für eine Weile einen SPOD . Nach ungefähr 15 Minuten bei ungefähr 100% CPU verbrauchte Xmplify jetzt 60 GB Speicher, und mein Betriebssystem sagte mir, dass mir der Speicher der Anwendung ausgeht und ich mit der Zwangsabschaltung beginnen musste.
Das erscheint mir für eine einzelne XPath-Abfrage in einer einzelnen Datei ziemlich übertrieben, selbst wenn es sich um eine ziemlich große Datei handelt. Die anderen Anwendungen, die ich ausprobiert habe, waren nicht so ungeheuerlich schlecht, aber das Öffnen des Dokuments und das Ausführen jeder Art von XPath-Abfrage dauerte noch einige Minuten, und ihre Speicherauslastung war auch in GB abzählbar. Daher ist Xmplify nicht nur ineffizient.
Was ist der Grund dafür? Warum ist XPath (anscheinend) so ressourcenintensiv? Unterscheidet es sich zwischen den Betriebssystemen (meines ist MacOS Sierra)?
Ich überlegte, ob dies hier zu veröffentlichen oder auf Stackoverflow, aber da ich ausdrücklich nicht das programmatisch tun, entschied ich mich das war wahrscheinlich der bessere Platz. Fühlen Sie sich frei, um zu migrieren, wenn es dafür einen besseren Stack gibt.
0 Antworten auf die Frage
Verwandte Probleme
-
6
Wie gut ist der Passwortschutz von Word?
-
6
Muss ich 3 RAM-DIMMs haben, um DDR3 verwenden zu können, oder sogar eine 3-Kanal-CPU betreiben könne...
-
8
Anzeigen von XML im Chrome-Browser
-
5
Warum läuft mein CPU-Fan, wenn Sie Videos oder virtuelle Maschinen ausführen?
-
4
Eingebettetes Flash-Video in MS Word-Dokument (2003 oder 2007)
-
4
Gibt es einen bestimmten oder messbaren Vorteil bei der Verwendung von ECC-RAM in einem Desktop-PC?
-
1
Wie lassen sich Menüs in MS Word 2003 standardmäßig "vollständig" öffnen?
-
2
iTunes-Speicherverwendung
-
1
Office 2007 - Quellen in Word referenzieren
-
5
So ermitteln Sie, welche Firefox-Add-Ons den meisten Speicher verwenden