XML Editor gesucht

Seite 1 von 1 - Forum: Applications, Apps & Drivers auf overclockers.at

URL: https://www.overclockers.at/applications/xml-editor-gesucht_230443/page_1 - zur Vollversion wechseln!


herky schrieb am 15.06.2012 um 10:43

hi leute,

ich suche einen XML editor mit dem ich:

* große XML datein bearbeiten (bis 20mb)
* ungewollte nodes / tags entfernen (zB alle vorkommen <unnoetig> und seine sub tags entfernen)

hab bislang leider kaum was brauchbares gefunden

greets,

herky


quilty schrieb am 15.06.2012 um 10:48

also jeden den ich kenne und zu dem thema gefragt wird spuckt reflexartig "altova xmlspy" aus. ist noch immer die referenz wenn es um xml bearbeitung/verarbeitung geht.


herky schrieb am 15.06.2012 um 11:01

hm ... 399€ ? ... seriously ^^

danke für die super schnelle antwort, aber kennt eventuell jemand etwas als donate-ware oder wenn unterhalb von 100€?

greets,

herky


mat schrieb am 15.06.2012 um 11:41

Altova XMLSpy ist meiner Meinung nach die ausgefeilteste Lösung. Gibt übrigens auch jemanden hier im Forum, der für Altova tätig ist/war. ;)

Kostenlose Alternative ist "Serna Free":

click to enlarge

http://www.syntext.com/products/serna-free/


herky schrieb am 15.06.2012 um 13:20

thx für die vorschläge - wenn mir noch wer sagen kann ob und wie ich mit altova ungewollte nodes entfernen kann? ich find dazu einfach nichts brauchbares :-(

greets


mat schrieb am 15.06.2012 um 13:30

XMLSpy hat eine sehr ausführliche Anleitung:

Zitat
Removing nodes

A node can be removed if its removal does not render the document invalid. Removing a node causes a node and all its contents to be deleted. A node can be removed using the Remove command in the context menu. When the Remove command is highlighted, a submenu pops up which contains all nodes that may be removed, starting from the selected node and going up to the document's top-level node. To select a node for removal, the cursor can be placed within the node, or the node (or part of it) can be highlighted. In the Elements entry helper, nodes that can be removed are indicated with the [x-] icon. A removable node can also be removed by selecting it and pressing the Delete key. In the NanonullOrg.xml document, experiment with removing a few nodes using the mechanisms described. You can undo your changes with Ctrl+Z.

Link: manual.altova.com


herky schrieb am 15.06.2012 um 14:13

danke mat - leider ist das nicht was ich suche - ein vorkommen eines nodes zu löschen ist echt kein problem. ich möchte aber alle spezifischen in einem XML dokument vorkommenden nodes löschen können.

bsp.: alle size nodes löschen in:

Code:
<imgs>
	<size />
	<file>
		<id />
		<size >
			blabla
		</size>
	</file>
	<file>
		<id />
		<size >
			blabla
		</size>
	</file>
	<file>
		<id />
		<size >
			blabla
		</size>
	</file>
</imgs>

zu:

Code:
<imgs>
	<file>
		<id />
	</file>
	<file>
		<id />
	</file>
	<file>
		<id />
	</file>
</imgs>

aber eben in einem 20 mb großen file. das manuell OHNE fehler zu machen ist nicht wirklich gut möglich.

greets


sts schrieb am 15.06.2012 um 15:55

Diese Anforderung sollte sich ja auch relativ einfach umsetzen alssen, denke da an eine C# Windows Forms Application...

melde dich bei mir falls Du noch keine Lösung gefunden hast :)


-=Willi=- schrieb am 15.06.2012 um 16:47

Hier eine Zeile für Bash:

Code:
sed -e 's/<size\s*>.*<\/size\s*>//' -e '/<size\s*>/,/<\/size\s*>/ s/.*//' -e '/^\s*$/d' <in.xml >out.xml
Wahrscheinlich umständlicher gelöst als es möglich wär aber es gibt auch keine Gewähr drauf :D. Ich habs zumindest mit deinem Beispiel oben getestet und auch mit einzeiligen Tags (<size>bla</size>;).


that schrieb am 15.06.2012 um 18:25

Sowas macht man am besten mit einem XSLT-Script:

Code:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="size"/>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>

Das erste Template macht aus "size"-Elementen gar nichts, und das zweite kopiert alle Attribute und Elemente 1:1 weiter.

XSLT-Engines, die so ein Script ausführen können, gibts inzwischen wirklich viele - eine davon u.a. im XMLSpy, eine in .NET, eine im normalen Windows (erreichbar über COM, z.B. über ein kleines Scripting-Host-Script), in libxslt, im Browser, etc.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025