Entwickler-Ecke

Programmierwerkzeuge - XML-Editor mit XPath-Support


BenBE - Do 13.05.10 16:21
Titel: XML-Editor mit XPath-Support
Die Frage hat zwar jetzt nichts direkt mit Delphi zu tun, aber mit dem Umfeld.

Und zwar hab ich hier grad einen 1MB großen XML-Dump, aus dem ich gezielt eine Reihe von Knoten entfernt haben möchte (konkret alle Revision-Knoten, deren Timestamp mit 2010-05- anfängt. Es handelt sich dabei um einen MediaWiki-Dump, den ich etwas bereinigen müsste ;-)

Hat da von euch jemand einen Tipp, wie man das möglichst einfach machen könnte?


alzaimar - Do 13.05.10 16:41

Wenn Du 'einfach' mit 'schnell vom Tisch' gleichsetzen könntest, sollte es ein hingerotzter -sagen wir- 30 Zeiler doch auch tun. Zeitaufwand: 30min?


BenBE - Do 13.05.10 17:17

Also gerotzt bekomm ich das auch mit nem Regexp-Einzeiler [http://blog.benny-baumann.de/?p=638]. Mir ging es eher drum, wie man sowas "sauber" machen kann unter Einhaltung der XML-Struktur. Weil XPath müsste sich dazu ja anbieten. Nur XPontus, der wohl XPath können soll, hat nicht mal auf einfachste Anfragen //revision/timestamp irgendwas geantwortet; geschweige denn, dass man in der Baumstruktur hätte direkt Knoten löschen können.


Martok - Do 13.05.10 21:56

Do want.

Kann dir leider auch keinen Tipp geben, hab aber auch öfter mal das Problem. Und was "hinhacken" in Firefox-Javascript ist auch irgendwie uncool.


danielf - Fr 14.05.10 08:12

Hallo,

für Xml Transformationen bietet sich meist Xslt an. Kann dir nun aber aus dem Stegreif auch keine Syntax nennen, aber es sollte auf jeden Fall gehen. Ich denke das es ein Versuch wert ist.

Gruß


BenBE - Fr 14.05.10 11:16

Direkt ne Transformation will ich in dem Sinne nicht machen. Es geht eher darum, dass ich eine XML-File habe, die ich einfach in dem Editor laden will und dann nur sage (Skripting wäre nice, muss aber nicht) Markiere alle Knoten, die auf z.B. //revision/timestamp[conent~"2010-05" passen, er mir die markiert und ich dann sagen kann, mach was mit denen. (in meinem Fall: Löschen der zugehörigen Revision-Knoten. (Das hat grob auch der verlinkte Regexp-Einzeiler gemacht, ist aber jedes Mal unhandlich.

Und das ist auch, was Martok meinte (und haben will): Ein Editor, wo man XML reingibt und wo man etwas komfortabler wie in der JS-Konsole von Firebug auf XML rumhacken kann.