Darmowe narzędzie do formatowania XML [zamknięte]

223

Czy jest dostępne bezpłatne narzędzie do formatowania (wcięcia) XML, w którym można wkleić ciąg XML i sformatować go, aby poprawnie odczytać dokument XML?

Dzięki

Edycja ~ Korzystam z Notatnika XML w systemie Windows XP.

Saif Khan
źródło
1
Na jakiej platformie jesteś? Z jakiego edytora tekstu już korzystasz? Większość przyzwoitych edytorów tekstu albo obsługuje to od razu, albo ma dostępne dodatki.
Jon Skeet,
45
Uważam to za bardzo konstruktywne
JGilmartin
17
Zgodzić się. To pytanie w rzeczywistości pasuje do pytań i odpowiedzi: na wąskie pytanie istniała faktyczna odpowiedź. To pytanie nie powinno być zamknięte.
Ben Collins,
4
Również się zgadzam. Odpowiedzi na to pytanie zawierają przydatne informacje. Również zamknięcie pytania 2 lata po zadaniu wydaje się dość głupie.
Bill W
Najlepszy
formatyzator

Odpowiedzi:

349

Uważam, że Notepad ++ ma tę funkcję.

Edytuj (dla nowszych wersji)
Zainstaluj wtyczkę „Narzędzia XML” (Wtyczki menu, Menedżer wtyczek)
Następnie uruchom: Wtyczki menu, Narzędzia Xml, Pretty Print (tylko XML - z podziałem wierszy)

Oryginalna odpowiedź (dla starszych wersji Notepad ++)

Menu Notepad ++: TextFX -> HTML Tidy -> Tidy: Reindent XML

Ta funkcja otacza jednak pliki XML, przez co wygląda na „nieczyste”. Nie mieć żadnego zawijania,

  • otwarte C:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI,
  • znajdź pozycję [Tidy: Reindent XML]i dodaj, wrap:0aby wyglądała następująco:
[Tidy: Reindent XML] 
input-xml: tak 
tiret: tak 
wrap: 0 
Chłopak
źródło
3
Możesz potrzebować twu.ca/divisions/technology/sst/orion/blog/…
svrist
3
Sprawdziłem, że działa bez wtyczek. Wystarczy pobrać najnowszą wersję Notepad ++ i będzie to obsługiwać.
Michael La Voie
7
To zabawne (wprowadzające w błąd?), Że HTMLTidy jest opisywane jako funkcja Notepad ++. Jest to samodzielne narzędzie ( tidy.sourceforge.net ), które istnieje znacznie dłużej niż Notepad ++ i może być używane w dowolnym edytorze tekstu obsługującym narzędzia zewnętrzne. Używałem go przez wieki z wiersza poleceń, zanim znalazłem edytor XML FirstObject.
Ash
8
Funkcja wcięcia XML w Notepad ++ jednak otacza pliki XML, przez co wygląda na „nieczyste”. Podoba mi się sposób, w jaki IE to reprezentuje. Aby nie mieć opakowania dla „Tidy: Reindent XML”, otwórz „C: \ Program Files \ Notepad ++ \ plugins \ Config \ tidy \ TIDYCFG.INI”, znajdź pozycję „[Tidy: Reindent XML]” i dodaj „wrap: 0 ”, aby wyglądało to tak: [Tidy: Reindent XML] input-xml: tak wcięcie: tak zawijanie: 0 To powinno dać niezawinięte XML
Joseph
20
Po prostu FYI, najnowsza wersja Notepad ++ (5.9 w momencie pisania) nie zawiera TextFX, a uruchomienie go wymaga ręcznego budowania biblioteki DLL. W Menedżerze wtyczek zainstaluj wtyczkę Narzędzia XML - DUŻO łatwiej.
Alex Beardsley,
57

Darmowy edytor XML Firstobject dla systemu Windows nazywa się Foxe to świetne narzędzie.

Otwórz lub wklej do niego swój kod XML i naciśnij klawisz F8, aby wprowadzić wcięcie (może być konieczne ustawienie liczby wcięć, ponieważ może to być domyślnie 0).

Wygląda to prosto, jednak zawiera niestandardowy napisany parser XML napisany w C ++, który pozwala na wydajną pracę z bardzo dużymi plikami XML (w przeciwieństwie do niektórych drogich narzędzi związanych z „szpiegostwem”, z których korzystałem).

Ze strony produktu:

Pełny kod źródłowy Visual C ++ dla tego pierwszego edytora XML (w tym komponentu MFC CDataEdit gigabyte control) jest dostępny jako część licencji Advanced CMarkup Developer License. Umożliwia programistom wdrażanie niestandardowych funkcji obsługi XML, takich jak sprawdzanie poprawności, transformacja, upiększanie i raportowanie do własnych celów.

Popiół
źródło
4
Ha, drogi „szpiegostwo” ... jeden na dzień :)
Saif Khan
1
To fajne narzędzie. Tiny też.
Kev
1
Nawet renderuje byty, to naprawdę przydatne!
James B
1
jest to o wiele lepsze niż ta wtyczka narzędzia xml w notatniku ++
Li Tian Gong
5
Mam plik 15 MB - Notepad ++ niszczył 1 rdzeń przez wiele minut bez rezultatu, Visual Studio robił to samo (i spowalniał żucie coraz większej ilości pamięci. Foxe może go otworzyć i sformatować natychmiast - imponujące. Interfejs użytkownika jest plan-jane, ale to wykonuje robotę
Mike Honey,
52

Użyj następujących opcji:

xmllint --format

zoul
źródło
moja dystrybucja cygwin już to miała, więc chyba nie musiałem pobierać binarnego systemu Windows, a potem zdecydowałem, że wolę napisać skrypt bash
vinnyjames
22

Możesz otworzyć plik XML w dowolnym produkcie Visual Studio Express i nacisnąć Ctrl+ A, Ctrl+ K, Ctrl+, Faby go ładnie sformatować.

Hej, to nic nie kosztuje i jest narzędziem, więc pasuje do pytania. :-)

Franci Penov
źródło
Zwykłem to robić: D Cóż, miałem odpowiednią wersję VS. Cieszę się, że teraz znam lepsze lekkie narzędzia!
jamiebarrow,
1
Przez cały ten czas kopiowałem go z VS do Notepad ++ tylko po to, aby sformatować plik XML i mogłem to zrobić! Co więcej, używam Ctrl + K Ctrl + F do formatowania kodu. :-) Niezłe.
Lee Oades,
1
Można to nawet nieco uprościć, ponieważ Ctrl + K, Ctrl + D formatuje cały dokument, dzięki czemu można pominąć Ctrl + A.
Hans Olsson,
16

Inna metoda reindentowania XML w Notepad ++:

Z menu wybierz Wtyczki -> Narzędzia XML -> Ładny wydruk (tylko XML - z podziałami linii)
lub naciśnij Ctrl+ Alt+ Shift+ B.

Maksym Kozlenko
źródło
3
może być konieczne dodanie wtyczki, zanim będzie to możliwe. dodaj za pośrednictwem Menedżera wtyczek
paskudny, pasty
nawet z tą wtyczką NPP działa dość wolniej, nawet otwierając ponad 20 MB plików na moim komputerze Core-i5 / 8GB
kmonsoor
5

Możesz także wypróbować http://xmltoolbox.appspot.com/ to internetowy formatyzator xml. Wystarczy wkleić xml do dużego pola tekstowego i nacisnąć „format xml”, a następnie całkiem wydrukuje xml w obszarze tekstowym, aby był łatwy do odczytania lub skopiowania.

Jest też miła mała funkcja filtrowania, która pozwala zobaczyć wszystkie określone elementy.

Mam nadzieję, że spodoba ci się to narzędzie

Ole Bille
źródło
4

Jeśli używasz Notepad ++, sugeruję zainstalowanie wtyczki XML Tools . Możesz upiększyć dowolną treść XML (wcięcie i podział wiersza) lub zlinaryzować. Możesz także (automatycznie) sprawdzić poprawność pliku i zastosować do niego transformację XSL.

Pobierz najnowszą wersję zip i skopiuj rozpakowaną bibliotekę DLL do katalogu wtyczek instalacji Notepad ++. Pobierz także biblioteki zewnętrzne i skopiuj je do katalogu% SystemRoot% \ system32 \.


źródło
W rzeczywistości będziesz potrzebować również ext_libs, istnieje exe, który zrobi wszystko za Ciebie w repozytorium forge source
roundcrisis
3

Zaawansowane formatowanie konwencjonalne [Aktualizacja]

XMLSpectrum to otwarty zakreślacz składni. Obsługa XML - ale ze specjalnymi funkcjami dla XSLT 2.0, XSD 1.1 i XPath 2.0. Wspominam o tym tutaj, ponieważ ma także specjalne możliwości formatowania XML: pionowo wyrównuje atrybuty i ich zawartość, a także elementy - w celu zwiększenia czytelności XML.

Wyjściowy kod HTML nadaje się do przeglądania w przeglądarce lub jeśli plik XML wymaga dalszej edycji, można go skopiować i wkleić do wybranego edytora XML

Ponieważ xmlspectrum.xsl używa własnego parsera tekstu XML, cała zawartość, taka jak odwołania do encji i sekcje CDATA, są zachowywane - jak w edytorze.

wprowadź opis zdjęcia tutaj

Uwaga na temat użytkowania: jest to tylko arkusz stylów XSLT 2.0, więc musisz zawrzeć wymagany wiersz polecenia (dostarczone próbki) w małym skrypcie, abyś mógł automatycznie przekształcić źródło XML.

Formatowanie wirtualne

XMLQuire to darmowy edytor XML, który ma specjalne możliwości formatowania - poprawnie formatuje XML, w tym atrybuty wieloliniowe, wartości atrybutów, wcięcia zawijania słów, a nawet komentarze XML.

Wszystkie wcięcia XML są wykonywane bez wstawiania tabulatorów lub spacji, zapewniając integralność XML. W przypadku wersji systemu Windows późniejszych niż XP nie jest wymagana instalacja, to tylko plik 3exe .exe.

Jeśli musisz wydrukować sformatowany plik XML, w podglądzie wydruku dostępne są specjalne opcje, takie jak numeracja linii, która następuje po wcięciu. Jeśli musisz skopiować sformatowany plik XML do edytora tekstu jako tekst sformatowany, to również jest dostępne.

[Ujawnienie: Utrzymuję zarówno XMLQuire, jak i XMLSpectrum jako „projekty domowe”]

pgfearo
źródło
Właśnie blogowałem o tym tutaj: blogs.msdn.com/b/brunoterkaly/archive/2013/01/09/…
Bruno
1

Jeśli jesteś programistą, wiele bibliotek parsujących XML pozwoli ci parsować XML, a następnie wysyłać go - a generowanie ładnie wydrukowanych wcięć jest opcją wyjściową.

JohnnySoftware
źródło
1

Spróbuj http://prettydiff.com/ Algorytm jest podobny do HTML Tidy, ale jest bardziej kompletny. Program jest napisany w całości w JavaScript, więc nie musisz niczego instalować.

austincheney
źródło
1

Notepad ++ to dobrze, jeśli jesteś w ANSI. Jeśli zrobisz to w coś takiego jak „ANSI AS UTF8”, tidy wyczyść dokument: /.

ykatchou
źródło
1

Nie jest to bezpośrednia odpowiedź, ale mimo wszystko warto wiedzieć: po wcięciu upewnij się, że parser (y) i aplikacja (i), które będą przetwarzać sformatowany kod XML, nie przyniosą innych rezultatów. Białe znaki są często znaczące w XML - ie, a większość zgodnych parserów umieszcza je w aplikacji.

Mihai Limbășan
źródło
Znany przykład semantycznie znaczących białych znaków występuje w WPF . W szczególności sąsiednie <Run />znaczniki wprowadzą (zwykle niepożądane) miejsce na wyjściu , chyba że znaczniki ściśle przylegają do pliku źródłowego XAML .
Glenn Slayden