Alat pemformatan XML gratis [tertutup]

223

Apakah ada alat pemformatan XML (indent) gratis yang tersedia di mana saya dapat melewati string XML dan memformatnya agar saya dapat membaca dokumen XML dengan benar?

Terima kasih

Sunting ~ Saya menggunakan Notepad XML pada Windows XP.

Saif Khan
sumber
1
Anda berada di platform apa? Editor teks apa yang sudah Anda gunakan? Kebanyakan editor teks yang layak mendukung hal ini di luar kotak atau memiliki add-on yang tersedia.
Jon Skeet
45
Saya menemukan ini sangat konstruktif
JGilmartin
17
Setuju. Pertanyaan ini sebenarnya cocok untuk T&J: ada jawaban faktual untuk pertanyaan sempit. Pertanyaan ini seharusnya tidak ditutup.
Ben Collins
4
Saya juga setuju. Jawaban atas pertanyaan ini memberikan informasi yang bermanfaat. Juga, menutup pertanyaan 2 tahun setelah itu diajukan agak konyol.
Bill W
The Best Formatter -> freeformatter.com/xml-formatter.html
AZ_

Jawaban:

349

Saya percaya bahwa Notepad ++ memiliki fitur ini.

Edit (untuk versi yang lebih baru)
Instal plugin "XML Tools" (Plugin Menu, Plugin Manager)
Kemudian jalankan: Menu Plugin, Xml Tools, Pretty Print (hanya XML - dengan jeda baris)

Jawaban asli (untuk Notepad ++ versi lama)

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

Namun fitur ini membungkus XML dan membuatnya terlihat 'tidak bersih'. Untuk tidak memiliki bungkus,

  • buka C:\Program Files\Notepad++\plugins\Config\tidy\TIDYCFG.INI,
  • temukan entri [Tidy: Reindent XML]dan tambahkan wrap:0sehingga terlihat seperti ini:
[Rapi: Reindent XML] 
input-xml: ya 
indentasi: ya 
bungkus: 0 
Orang
sumber
3
Saya memverifikasi ini berfungsi tanpa plug-in. Unduh saja Notepad ++ versi terbaru dan ini akan mendukungnya.
Michael La Voie
7
Lucu (menyesatkan?) Bahwa HTMLTidy digambarkan sebagai fitur Notepad ++. Ini adalah alat mandiri ( tidy.sourceforge.net ) yang telah ada jauh lebih lama dari Notepad ++ dan dapat digunakan dalam editor teks apa pun yang mendukung alat eksternal. Saya menggunakannya untuk waktu yang lama dari command prompt sebelum saya menemukan FirstObject XML Editor.
Ash
8
Fitur indentasi Notepad ++ XML membungkus XML dan membuatnya terlihat 'tidak bersih'. Saya suka cara IE menggambarkannya. Untuk tidak membungkus "Tidy: Reindent XML", buka "C: \ Program Files \ Notepad ++ \ plugins \ Config \ tidy \ TIDYCFG.INI", cari entri "[Rapi: Reindent XML]" dan tambahkan "wrap: 0 "sehingga terlihat seperti ini: [Rapi: Reindent XML] input-xml: yes indent: yes wrap: 0 Ini akan memberikan XML yang tidak dibungkus
Joseph
20
Hanya FYI, versi terbaru Notepad ++ (5.9 pada saat penulisan) tidak termasuk TextFX, dan untuk membuatnya berfungsi membutuhkan pembuatan DLL secara manual. Di Manajer Plugin, instal plugin Alat XML - JAUH lebih mudah.
Alex Beardsley
57

Editor XML gratis Firstobject untuk Windows disebut foxe adalah alat yang hebat.

Buka atau rekatkan XML Anda ke dalamnya dan tekan F8 untuk membuat indent (Anda mungkin perlu mengatur jumlah spasi indent karena mungkin default ke 0).

Ini terlihat sederhana, namun itu berisi parser XML khusus yang ditulis dengan C ++ yang memungkinkannya untuk bekerja secara efisien dengan file XML yang sangat besar dengan mudah (tidak seperti beberapa alat terkait "spionase" mahal yang saya gunakan).

Dari halaman produk:

Kode sumber Visual C ++ lengkap untuk editor XML objek pertama ini (termasuk komponen MFC kontrol edit gigata CDataEdit) tersedia sebagai bagian dari Lisensi Pengembang CMarkup Lanjutan. Ini memungkinkan pengembang untuk mengimplementasikan fungsi penanganan XML khusus seperti validasi, transformasi, mempercantik, dan melaporkan untuk keperluan mereka sendiri.

Abu
sumber
4
Ha, "spionase" mahal ... satu untuk hari ini :)
Saif Khan
1
Itu alat yang rapi. Mungil juga.
Kev
1
Bahkan merender entitas, itu sangat berguna!
James B
1
ini jauh lebih baik daripada plugin alat xml di notepad ++
Li Tian Gong
5
Saya punya file 15MB - Notepad ++ meronta-ronta 1 inti selama beberapa menit tanpa hasil, Visual Studio melakukan hal yang sama (dan memperlambat mengunyah lebih banyak memori. Foxe dapat membuka dan memformatnya langsung - mengesankan. UI adalah plan-jane tetapi melakukan pekerjaan
Mike Honey
52

Gunakan yang berikut ini:

xmllint --format

zoul
sumber
distro cygwin saya sudah punya ini jadi saya kira saya tidak perlu mengunduh windows binary dan kemudian memutuskan saya lebih suka menulis skrip bash
vinnyjames
22

Anda dapat membuka file XML di produk Visual Studio Express dan tekan Ctrl+ A, Ctrl+ K, Ctrl+ Funtuk membuatnya diformat dengan baik.

Hei, gratis dan ini alat, jadi cocok dengan pertanyaan. :-)

Franci Penov
sumber
Saya biasa melakukan ini: D Yah, saya punya edisi VS yang tepat. Saya sangat senang saya tahu alat ringan yang lebih baik sekarang!
jamiebarrow
1
Selama ini, saya telah menyalinnya dari VS ke Notepad ++ hanya untuk memformat xml, dan saya bisa saja melakukannya! Terlebih lagi, saya menggunakan Ctrl + K Ctrl + F untuk memformat kode. :-) Yang bagus.
Lee Oades
1
Dan bahkan dapat disederhanakan sedikit sejak Ctrl + K, Ctrl + D memformat seluruh dokumen sehingga Anda dapat melewati Ctrl + A.
Hans Olsson
16

Metode lain untuk mengaktifkan kembali XML di Notepad ++:

Dari menu pilih Plugins -> XML Tools -> Pretty print (hanya XML - dengan jeda baris)
atau tekan Ctrl+ Alt+ Shift+ B.

Maksym Kozlenko
sumber
3
Anda mungkin perlu menambahkan plugin sebelum dapat melakukan ini. tambahkan melalui Manajer Plugin
pasty jahat
bahkan dengan plugin ini, NPP semakin lambat bahkan membuka 20+ MB file pada PC Core-i5 / 8GB saya
kmonsoor
5

Anda juga dapat mencoba http://xmltoolbox.appspot.com/ ini adalah formatter xml online. Anda cukup menempelkan xml Anda ke bidang bidang teks besar dan tekan "format xml" lalu cukup mencetak xml di bidang teks sehingga mudah dibaca atau disalin.

Ada juga fitur filter kecil yang bagus yang memungkinkan Anda melihat semua elemen tertentu.

Semoga Anda menikmati alat ini

Ole Bille
sumber
4

Jika Anda menggunakan Notepad ++, saya sarankan menginstal plugin XML Tools . Anda dapat mempercantik konten XML apa pun (lekukan dan jeda baris) atau membuat garis itu. Anda juga dapat (otomatis) memvalidasi file Anda dan menerapkan transformasi XSL untuknya.

Unduh zip terbaru dan salin DLL yang diekstrak ke direktori plugins dari instalasi Notepad ++ Anda. Juga, unduh lib Eksternal dan salin ke direktori% SystemRoot% \ system32 \ Anda.


sumber
Sebenarnya Anda akan membutuhkan ext_libs juga, ada exe yang akan melakukan semuanya untuk Anda di repo sumber menempa
roundcrisis
3

Pemformatan Konvensional Tingkat Lanjut [Pembaruan]

XMLSpectrum adalah penyorot-sintaks open source. Mendukung XML - tetapi dengan fitur-fitur khusus untuk XSLT 2.0, XSD 1.1 dan XPath 2.0. Saya menyebutkan ini di sini karena ia juga memiliki kemampuan format khusus untuk XML: ini meluruskan atribut dan isinya secara vertikal serta elemen - untuk meningkatkan keterbacaan XML.

Output HTML cocok untuk ditinjau di browser atau jika XML perlu diedit lebih lanjut dapat disalin dan ditempelkan ke editor XML pilihan Anda

Karena xmlspectrum.xsl menggunakan parser teks XML-nya sendiri, semua konten seperti referensi entitas dan bagian CDATA dipertahankan - seperti dalam editor.

masukkan deskripsi gambar di sini

Catatan tentang penggunaan: ini hanya XSLT 2.0 stylesheet sehingga Anda harus melampirkan baris perintah yang diperlukan (sampel disediakan) dalam skrip kecil sehingga Anda dapat secara otomatis mengubah sumber XML.

Pemformatan Virtual

XMLQuire adalah editor XML gratis yang memiliki kemampuan format khusus - memformat XML dengan benar, termasuk atribut multi-line, atribut-nilai, lekukan kata-membungkus dan bahkan komentar XML.

Semua lekukan XML dilakukan tanpa menyisipkan tab atau spasi, memastikan integritas XML dipertahankan. Untuk versi Windows lebih lambat dari XP, tidak diperlukan instalasi, hanya file .exe 3MB.

Jika Anda perlu mencetak XML yang diformat, ada opsi khusus dalam pratinjau cetak, seperti penomoran baris yang mengikuti lekukan. Jika Anda perlu menyalin XML yang diformat ke pengolah kata sebagai teks kaya, itu juga tersedia.

[Pengungkapan: Saya mempertahankan XMLQuire dan XMLSpectrum sebagai 'proyek rumah']

pgfearo
sumber
Saya baru saja membuat blog tentang ini di sini: blogs.msdn.com/b/brunoterkaly/archive/2013/01/09/…
Bruno
1

Jika Anda seorang pemrogram, banyak pustaka pemrograman parsing XML akan membiarkan Anda mem-parsing XML, lalu mengeluarkannya - dan menghasilkan hasil cetak yang indentasi adalah opsi keluaran.

JohnnySoftware
sumber
1

Coba http://prettydiff.com/ Algoritma ini mirip dengan HTML Tidy, tetapi lebih lengkap. Program ini ditulis seluruhnya dalam JavaScript, jadi Anda tidak perlu menginstal apa pun.

austincheney
sumber
1

Notepad ++ berhasil dengan baik hanya jika Anda berada di ANSI. Jika Anda melakukannya di sesuatu seperti "ANSI AS UTF8", bersihkan dokumen: /.

ykatchou
sumber
1

Tidak secara langsung jawaban, tetapi baik untuk diketahui: Setelah membuat indentasi, pastikan parser dan aplikasi yang selanjutnya akan memproses XML yang diformat tidak akan menghasilkan hasil yang berbeda. Ruang putih sering signifikan dalam XML dan sebagian besar parser yang menyesuaikan menggelembungkannya ke aplikasi.

Mihai Limbășan
sumber
Contoh terkenal dari spasi putih semantik yang signifikan terjadi di WPF . Khususnya, <Run />tag yang berdekatan akan memberikan spasi (biasanya tidak diinginkan) dalam output , kecuali jika tag tersebut benar-benar berbatasan dengan file sumber XAML .
Glenn Slayden