Kode halaman ini tidak berjalan.

Membuka index.html langsung dari sebuah folder memblokir modul JavaScript, sehingga tidak akan terjadi apa-apa saat Anda memilih sebuah file. Sajikan folder tersebut lewat http sebagai gantinya:

powershell -ExecutionPolicy Bypass -File serve.ps1

Lalu buka http://localhost:8080/.

Pemformat XML — rapikan, mampatkan, atau ubah jadi JSON

XML dirapikan agar terbaca atau dimampatkan agar siap kirim, dan diubah ke JSON dua arah. Tidak ada satu pun yang ditempel ke server orang lain.

Bahasa: Bahasa Indonesia
Lihat kode sumber
file XML dan JSON Anda tidak pernah diunggah. Tidak ada server.

Memformat dan mengubah adalah hitungan atas sebuah untai teks, dikerjakan di sini, di halaman ini. Pengurainya ditulis tangan dan ada di src/shared/parse-xml.js, dan tidak ada yang lain. Alat ini tidak punya fungsi jaringan apa pun — tidak ada yang diambil, tidak ada yang dikirim — dan di sini itu lebih berarti daripada yang disiratkan kata “XML”: yang datang dalam format ini biasanya sebuah faktur, rekening koran, rekam medis, atau permintaan SOAP dengan kredensial seseorang di headernya.

Pemeriksaan langsung: memeriksa…

Luring: memeriksa…

Anda tidak perlu percaya begitu saja: buka DevTools, perhatikan tab jaringan, lalu format sesuatu. Tidak satu pun permintaan membawa satu karakter dari yang Anda tempel. Atau cabut sambungan internet dan format tetap.

1 Pilih pekerjaannya

Tata letak Dimampatkan berarti dokumen yang sama tanpa setiap spasi yang ada hanya supaya enak dibaca.

Nama untuk elemen terluar XML punya satu elemen di puncaknya dan JSON tidak, jadi salah satunya harus dikarang.

2 Tempelkan

kosong

3 Ambil hasilnya

Belum ada apa-apa.

 

Lihat sebagai Markdown

Cara memformat XML tanpa mengunggahnya

  1. Pilih pekerjaannya. Dua tab, satu kotak: Format merapikan XML atau memampatkannya; Ubah menjadikannya JSON, atau JSON kembali jadi XML. XML yang baru saja Anda rapikan adalah XML yang Anda ubah, tanpa menempelnya dua kali.
  2. Tempel, atau jatuhkan berkasnya. Apa pun yang bisa Anda sorot dan salin akan jalan, dan berkas .xml, .svg, .rss, atau .xsd yang dijatuhkan ke pemilih dibaca oleh peramban Anda sendiri lalu dimasukkan ke kotaknya — tidak ada langkah unggah yang perlu dilewati.
  3. Pilih indentasinya, atau mampatkan. Dua spasi, empat, atau satu tab. Memampatkan berarti dokumen yang sama tanpa setiap spasi yang ada hanya supaya enak dibaca, dan hasilnya menyebutkan berapa bita yang dihemat.
  4. Baca galatnya di tempat galatnya berada. Pengurai yang gagal di sini menyebut tag mana yang tidak pernah ditutup dan di baris serta kolom berapa, alih-alih “galat di baris 1”, yang adalah ucapan sebuah peramban tentang dokumen yang dibacanya sekaligus.
  5. Ambil hasilnya. Salin, atau unduh sebagai berkas, dinamai menurut format tempat ia keluar.

Pertanyaan

Apakah XML saya diunggah ke suatu tempat?

Tidak. Pengurai dan pencetak di halaman ini adalah fungsi yang berjalan di peramban Anda sendiri, di perangkat keras Anda sendiri. Alat ini tidak punya fungsi jaringan apa pun — tidak pernah mengambil apa pun dan tidak pernah mengirim apa pun — dan Content-Security-Policy halaman ini menyebutkan setiap alamat yang boleh dihubunginya, tidak satu pun milik kami. Untuk XML itu lebih berarti daripada yang disiratkan reputasi formatnya: yang datang di dalamnya biasanya sebuah faktur, rekening koran, rekam medis, atau permintaan SOAP dengan kredensial di headernya.

Apakah ia menyelesaikan entitas eksternal?

Tidak, dan tidak ada yang perlu dimatikan. Penyelesaian entitas eksternal adalah cara sebuah pengurai XML dibujuk membaca berkas dari mesin yang menjalankannya — serangan yang biasa ditulis XXE — dan src/shared/parse-xml.js adalah pembaca tulisan tangan tanpa penyelesaian entitas sama sekali. Teks Anda juga tidak pernah diserahkan kepada DOMParser milik peramban. Sebuah DOCTYPE dibawa lewat begitu saja tanpa pernah dijalankan.

Apa yang hilang saat mengubah XML ke JSON?

Urutan isi campuran, komentar, dan perbedaan antara atribut dan elemen anak — yang terakhir dilunakkan alih-alih dihapus, karena sebuah atribut menjadi anggota yang namanya diawali @. Teks milik sebuah elemen menjadi #text bila ia harus berdampingan dengan yang lain, dan anak yang berulang menjadi sebuah array. Setiap nilai tetap untai teks: XML tidak punya tipe, dan memutuskan bahwa 8080 adalah angka berarti mengarang informasi.

Apa yang hilang saat mengubah JSON ke XML?

Perbedaan antara objek kosong, array kosong, dan untai kosong, yang ketiganya menjadi elemen kosong, serta tipe setiap nilai, karena XML tidak punya tipe. Sebuah array menjadi elemen berulang, satu-satunya bentuk yang terbaca kembali, dan kunci yang tidak sanggup ditampung sebuah nama elemen diganti karakter canggungnya alih-alih dikeluarkan sebagai dokumen yang tidak akan dibaca pengurai mana pun.

Bisakah ia memformat SVG, feed RSS, atau berkas POM?

Bisa. Ketiganya adalah XML, dan ini membaca XML alih-alih satu dialek tertentu. SVG yang dirapikan begini lebih mudah disunting tangan; feed RSS atau Atom biasanya dikirim dalam keadaan mampat dan tak terbaca sampai ada yang membukanya. Tata letaknya tidak mengubah apa pun dari arti dokumen itu.

Apakah mengubah indentasi XML mengubah artinya?

Untuk dokumen yang elemennya berisi elemen lain, tidak. Yang bisa berpengaruh adalah teks: spasi di dalam elemen yang berisi kata adalah bagian dari teks itu, jadi elemen yang isinya hanya teks dibiarkan dalam satu baris alih-alih dibuka. Bagian CDATA disalin persis seperti semula.

Kenapa tidak memakai pengurai XML milik peramban saja?

Karena apa yang dikatakannya waktu dokumennya rusak. DOMParser mengembalikan dokumen galat yang kata-katanya berbeda di setiap peramban dan sering kali hanya berbunyi “galat di baris 1”. Pembaca tulisan tangan bisa menyebut tag mana yang tidak pernah ditutup, dan di mana ia dibuka, dan itulah yang sebenarnya perlu Anda ketahui. Tidak menyelesaikan entitas eksternal adalah alasan yang satu lagi.

Sebesar apa berkas yang bisa ditangani?

Tidak ada batas yang dipasang di sini, sebab tidak ada server yang membayarinya. Batas sesungguhnya adalah perangkat Anda sendiri: beberapa megabita XML aman, dan untuk dokumen yang sangat panjang halaman ini menunggu jeda ketikan Anda sebelum memformat ulang, alih-alih berebut papan ketik dengan Anda.

Apakah gratis, dan perlukah akun?

Gratis, dan tidak ada akun, tidak ada masuk, tidak ada masa coba, dan tidak ada batas berapa banyak yang Anda tempel. Situs ini memasang iklan, dan itulah yang membiayainya; iklan-iklan itu tidak diberi apa pun tentang teks Anda.

Apakah jalan tanpa internet?

Ya. Muat halamannya sekali, lalu putuskan sambungan internet dan halaman ini tetap bekerja. Itu sekaligus cara paling sederhana untuk membuktikan tidak ada yang diunggah: alat yang mengirim XML Anda pergi untuk diformat akan berhenti begitu sambungannya dicabut.