Kostenloses XML-Formatierungs-Tool [geschlossen]

223

Gibt es ein kostenloses XML-Formatierungswerkzeug (Einzug), mit dem ich eine XML-Zeichenfolge einfügen und formatieren kann, damit ich das XML-Dokument korrekt lesen kann?

Vielen Dank

Bearbeiten ~ Ich verwende XML Notepad unter Windows XP.

Saif Khan
quelle
1
Auf welcher Plattform bist du? Welchen Texteditor verwenden Sie bereits? Die meisten anständigen Texteditoren unterstützen dies entweder sofort oder verfügen über Add-Ons.
Jon Skeet
45
Ich fand das sehr konstruktiv
JGilmartin
17
Zustimmen. Diese Frage passt tatsächlich gut zu den Fragen und Antworten: Es gab eine sachliche Antwort auf eine enge Frage. Diese Frage hätte nicht geschlossen werden dürfen.
Ben Collins
4
Ich stimme auch zu. Die Antworten auf diese Frage liefern nützliche Informationen. Außerdem scheint es ziemlich dumm zu sein, eine Frage zwei Jahre nach ihrer Beantwortung zu schließen.
Bill W
Das Best Formatter -> freeformatter.com/xml-formatter.html
AZ_

Antworten:

349

Ich glaube, dass Notepad ++ diese Funktion hat.

Bearbeiten (für neuere Versionen)
Installieren Sie das Plugin "XML Tools" (Menü-Plugins, Plugin-Manager).
Führen Sie dann Folgendes aus: Menü-Plugins, XML-Tools, Pretty Print (nur XML - mit Zeilenumbrüchen)

Ursprüngliche Antwort (für ältere Versionen von Notepad ++)

Notepad ++ - Menü: TextFX -> HTML Tidy -> Tidy: XML neu einbinden

Diese Funktion umschließt jedoch XMLs und lässt sie daher "unrein" aussehen. Um keine Verpackung zu haben,

  • öffnen C:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI ,
  • Finde den Eintrag [Tidy: Reindent XML]und füge wrap:0ihn hinzu, damit er so aussieht:
[Aufgeräumt: Reindent XML] 
input-xml: ja 
Einzug: ja 
Wrap: 0 
Kerl
quelle
3
Möglicherweise benötigen Sie twu.ca/divisions/technology/sst/orion/blog/…
svrist
3
Ich habe überprüft, ob dies ohne Plug-Ins funktioniert. Laden Sie einfach die neueste Version von Notepad ++ herunter und es wird dies unterstützen.
Michael La Voie
7
Es ist lustig (irreführend?), Dass HTMLTidy als eine Funktion von Notepad ++ beschrieben wird. Es ist ein eigenständiges Tool ( tidy.sourceforge.net ), das viel länger als Notepad ++ existiert und in jedem Texteditor verwendet werden kann, der externe Tools unterstützt. Ich habe es lange Zeit an der Eingabeaufforderung verwendet, bevor ich FirstObject XML Editor gefunden habe.
Ash
8
Die XML-Einrückungsfunktion von Notepad ++ umschließt jedoch XMLs und lässt sie daher "unrein" aussehen. Ich mag die Art und Weise, wie IE es darstellt. Um keinen Wrap für "Tidy: Reindent XML" zu haben, öffnen Sie "C: \ Programme \ Notepad ++ \ plugins \ Config \ tidy \ TIDYCFG.INI", suchen Sie den Eintrag "[Tidy: Reindent XML]" und fügen Sie "wrap: 0" hinzu "so dass es so aussieht: [Tidy: Reindent XML] input-xml: yes indent: yes wrap: 0 Dies sollte nicht umbrochenes XML ergeben
Joseph
20
Nur zu Ihrer Information, die neueste Version von Notepad ++ (5.9 zum Zeitpunkt des Schreibens) enthält kein TextFX, und um es zum Laufen zu bringen, muss manuell eine DLL erstellt werden. Installieren Sie im Plugin Manager das XML Tools Plugin - VIEL einfacher.
Alex Beardsley
57

Der kostenlose XML-Editor von Firstobject für Windows heißt foxe und ist ein großartiges Tool.

Öffnen oder fügen Sie Ihr XML ein und drücken Sie F8, um einzurücken (möglicherweise müssen Sie die Anzahl der eingerückten Leerzeichen festlegen, da dies standardmäßig 0 ist).

Es sieht einfach aus, enthält jedoch einen benutzerdefinierten XML-Parser, der in C ++ geschrieben ist und es ermöglicht, effizient mit sehr großen XML-Dateien zu arbeiten problemlos kann (im Gegensatz zu einigen teuren "Spionage" -Tools, die ich verwendet habe).

Von der Produktseite:

Der vollständige Visual C ++ - Quellcode für diesen XML-Editor für das erste Objekt (einschließlich der MFC-Komponente CDataEdit-Gigabyte-Bearbeitungssteuerung) ist als Teil der Advanced CMarkup Developer License verfügbar. Entwickler können damit benutzerdefinierte XML-Verarbeitungsfunktionen wie Validierung, Transformation, Verschönerung und Berichterstellung für ihre eigenen Zwecke implementieren.

Asche
quelle
4
Ha, teure "Spionage" ... eine für den Tag :)
Saif Khan
1
Das ist ein ordentliches Werkzeug. Winzig auch.
Kev
1
Es rendert sogar Entitäten, das ist wirklich praktisch!
James B
1
Dies ist so viel besser als das XML-Tool-Plugin in Notepad ++
Li Tian Gong
5
Ich habe eine 15-MB-Datei - Notepad ++ hat 1 Kern für viele Minuten ohne Ergebnis verprügelt, Visual Studio hat das Gleiche getan (und das Kauen von immer mehr Speicher verlangsamt. Foxe kann es sofort öffnen und formatieren - beeindruckend. Die Benutzeroberfläche ist plan-jane, aber es macht den Job.
Mike Honey
52

Verwenden Sie Folgendes:

xmllint --format

Zoul
quelle
Meine Cygwin-Distribution hatte dies bereits, also musste ich wohl nicht die Windows-Binärdatei herunterladen und dann entscheiden, dass ich lieber ein Bash-Skript schreiben würde
Vinnyjames
22

Sie können die XML-Datei in jedem Visual Studio Express-Produkt öffnen und Ctrl+ A, Ctrl+ K, Ctrl+ drückenF um sie gut zu formatieren.

Hey, es ist kostenlos und ein Tool, also passt es zur Frage. :-)

Franci Penov
quelle
Ich habe das immer gemacht: D Nun, ich hatte eine richtige VS-Edition. Ich bin so froh, dass ich jetzt bessere leichte Werkzeuge kenne!
Jamie Barrow
1
Die ganze Zeit habe ich es von VS nach Notepad ++ kopiert, nur um die XML zu formatieren, und das hätte ich auch tun können! Außerdem verwende ich Strg + K Strg + F, um Code bereits zu formatieren. :-) Schön.
Lee Oades
1
Und kann sogar ein wenig vereinfacht werden, da Strg + K, Strg + D das gesamte Dokument formatiert, sodass Sie Strg + A überspringen können.
Hans Olsson
16

Eine weitere Methode zum erneuten Einrücken von XML in Notepad ++:

Wählen Sie im Menü Plugins -> XML Tools -> Pretty Print (nur XML - mit Zeilenumbrüchen)
oder drücken Sie Ctrl+ Alt+ Shift+ B.

Maksym Kozlenko
quelle
3
Möglicherweise müssen Sie das Plugin hinzufügen, bevor Sie dies tun können. über den Plugin Manager hinzufügen
böse Pastete
Selbst mit diesem Plugin wird NPP sogar beim Öffnen von Dateien mit mehr als 20 MB auf meinem Core-i5 / 8-GB-PC
ziemlich langsam
5

Sie können auch http://xmltoolbox.appspot.com/ ausprobieren. Es handelt sich um einen Online-XML-Formatierer. Sie fügen Ihre XML-Datei einfach in ein großes Textfeldfeld ein und drücken auf "XML formatieren". Anschließend wird die XML-Datei im Textbereich hübsch gedruckt, sodass sie leicht zu lesen oder zu kopieren ist.

Es gibt auch eine nette kleine Filterfunktion, mit der Sie alle Elemente sehen können.

Ich hoffe, Sie werden das Tool genießen

Ole Bille
quelle
4

Wenn Sie Notepad ++ verwenden, würde ich empfehlen, das XML Tools- Plugin zu installieren . Sie können jeden XML-Inhalt (Einrückung und Zeilenumbrüche) verschönern oder linearisieren. Sie können Ihre Datei auch (automatisch) validieren und die XSL-Transformation darauf anwenden.

Laden Sie die neueste Zip-Datei herunter und kopieren Sie die extrahierte DLL in das Plugins-Verzeichnis Ihrer Notepad ++ - Installation. Laden Sie außerdem die externen Bibliotheken herunter und kopieren Sie sie in Ihr Verzeichnis% SystemRoot% \ system32 \.


quelle
Eigentlich finden Sie die ext_libs brauchen auch, gibt es eine exe, die die ganze Sache für Sie in der Quelle Schmiede Repo tun
roundcrisis
3

Erweiterte konventionelle Formatierung [Update]

XMLSpectrum ist ein Open-Source-Syntax- Textmarker . Unterstützung von XML - jedoch mit speziellen Funktionen für XSLT 2.0, XSD 1.1 und XPath 2.0. Ich erwähne dies hier, weil es auch spezielle Formatierungsfunktionen für XML bietet: Es richtet Attribute und deren Inhalt sowie Elemente vertikal aus, um die XML-Lesbarkeit zu verbessern.

Das Ausgabe-HTML eignet sich zum Überprüfen in einem Browser. Wenn das XML weiter bearbeitet werden muss, kann es kopiert und in einen XML-Editor Ihrer Wahl eingefügt werden

Da xmlspectrum.xsl einen eigenen XML-Textparser verwendet, bleiben alle Inhalte wie Entitätsreferenzen und CDATA-Abschnitte erhalten - wie in einem Editor.

Geben Sie hier die Bildbeschreibung ein

Hinweis zur Verwendung: Dies ist nur ein XSLT 2.0-Stylesheet. Sie müssten daher die erforderliche Befehlszeile (Beispiele bereitgestellt) in ein kleines Skript einschließen, damit Sie die XML-Quelle automatisch transformieren können.

Virtuelle Formatierung

XMLQuire ist ein kostenloser XML-Editor mit speziellen Formatierungsfunktionen. Er formatiert XML ordnungsgemäß, einschließlich mehrzeiliger Attribute, Attributwerte, Zeilenumbruch und sogar XML-Kommentare.

Alle XML-Einrückungen werden ohne Einfügen von Tabulatoren oder Leerzeichen ausgeführt, um sicherzustellen, dass die Integrität des XML erhalten bleibt. Für Windows-Versionen nach XP ist keine Installation erforderlich. Es handelt sich lediglich um eine 3-MB-EXE-Datei.

Wenn Sie das formatierte XML ausdrucken müssen, gibt es in der Druckvorschau spezielle Optionen, z. B. die Zeilennummerierung nach dem Einzug. Wenn Sie das formatierte XML als Rich Text in ein Textverarbeitungsprogramm kopieren müssen, ist dies ebenfalls verfügbar.

[Offenlegung: Ich verwalte sowohl XMLQuire als auch XMLSpectrum als 'Heimprojekte']

pgfearo
quelle
Ich habe gerade hier darüber gebloggt
Bruno
1

Wenn Sie ein Programmierer sind, können Sie in vielen XML-Parsing-Programmierbibliotheken XML analysieren und dann ausgeben - und das Generieren einer hübschen gedruckten, eingerückten Ausgabe ist eine Ausgabeoption.

JohnnySoftware
quelle
1

Versuchen Sie es mit http://prettydiff.com/. Der Algorithmus ähnelt HTML Tidy, ist jedoch vollständiger. Das Programm ist vollständig in JavaScript geschrieben, sodass Sie nichts installieren müssen.

austincheney
quelle
1

Notepad ++ macht es nur gut, wenn Sie in ANSI sind. Wenn Sie es in etwas wie "ANSI AS UTF8" tun, ordnen Sie das Dokument sauber: /.

ykatchou
quelle
1

Keine direkte Antwort, aber dennoch gut zu wissen: Stellen Sie nach dem Einrücken sicher, dass der Parser und die Anwendung (en), die anschließend das formatierte XML verarbeiten, keine unterschiedlichen Ergebnisse liefern. Leerzeichen sind in XML häufig von Bedeutung, und die meisten konformen Parser geben sie an die Anwendung weiter.

Mihai Limbășan
quelle
Ein berüchtigtes Beispiel für semantisch signifikante Leerzeichen findet sich in WPF . Insbesondere fügen benachbarte <Run />Tags einen (normalerweise unerwünschten) Speicherplatz in die Ausgabe ein , es sei denn, diese Tags stoßen in der XAML- Quelldatei streng aneinander .
Glenn Slayden