Apa Itu Alat Ini?
Beberapa sistem (perangkat lunak perusahaan lama, API tertentu berbasis SOAP, feed yang mirip RSS) mengharapkan data sebagai XML, sementara spreadsheet dan sebagian besar tool impor data mengharapkan CSV. Tool ini memindahkan data antara kedua format: CSV → XML membungkus setiap baris dalam elemen <row> di dalam elemen root <rows>, dengan setiap kolom menjadi tag anak yang dinamai sesuai header; XML → CSV melakukan kebalikannya, mengekstrak satu kolom untuk setiap nama tag anak berbeda yang ditemukan.
Sisi CSV diurai dengan parser field bertanda kutip yang tepat (bukan pemisahan koma sederhana), sehingga nilai yang mengandung koma, jeda baris, atau tanda kutip tertanam ditangani dengan benar. Sisi XML diurai menggunakan API DOMParser bawaan browser — antarmuka yang sama yang digunakan browser secara internal untuk mengurai dokumen XML — bukan pembaca buatan sendiri berbasis regex, sehingga tag bertingkat dan escaping XML standar ditangani seperti yang dilakukan parser XML sungguhan.
Nama kolom/tag yang bukan nama elemen XML yang valid (mengandung spasi, dimulai dengan digit, dll.) secara otomatis dibersihkan saat menghasilkan XML, karena nama elemen XML memiliki aturan yang lebih ketat daripada header CSV.
Sumber: penguraian CSV mengikuti RFC 4180; struktur XML mengikuti spesifikasi W3C XML 1.0.
Mengapa Menggunakannya?
- Bekerja dalam dua arah — CSV ke XML dan XML ke CSV, dalam satu tool.
- Penguraian CSV yang benar — menangani field bertanda kutip dengan koma, jeda baris, dan tanda kutip yang di-escape, bukan hanya pemisahan koma sederhana.
- Penguraian XML berbasis standar — XML → CSV menggunakan DOMParser bawaan browser alih-alih parser regex kustom, sehingga XML yang tidak valid dilaporkan sebagai error alih-alih diam-diam menghasilkan data sampah.
- Escaping XML otomatis — karakter khusus seperti & dan < dalam nilai CSV Anda di-escape dengan benar saat menghasilkan XML.
- 100% client-side — tidak ada yang Anda tempel di sini yang diunggah ke server.
Cara Menggunakan
- Tempel data CSV (dengan baris header) atau data XML ke dalam kotak.
- Klik "CSV → XML" untuk menghasilkan XML, atau "XML → CSV" untuk mengonversi XML kembali menjadi tabel.
- Tinjau hasilnya — salin atau unduh sebagai file.
- Untuk CSV → XML, setiap baris menjadi elemen <row> dengan satu tag per kolom, dibungkus dalam root <rows>.
Contoh
Input
name,age
Alice,30
Bob,25Output
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<name>Alice</name>
<age>30</age>
</row>
<row>
<name>Bob</name>
<age>25</age>
</row>
</rows>Setiap baris CSV menjadi elemen <row>, dan setiap kolom menjadi tag anak yang dinamai sesuai header — menjalankan XML ini kembali melalui "XML → CSV" merekonstruksi tabel dua kolom aslinya.
Tips praktis
- Memasukkan data ke sistem lama atau API SOAP yang mengharapkan XML: konversi ekspor CSV Anda di sini terlebih dahulu, lalu tempel hasil XML langsung ke sistem target.
- Mengaudit ekspor XML yang Anda terima: jalankan XML → CSV untuk mendapatkan tampilan tabel yang cepat dan mudah dibaca tanpa memerlukan editor XML lengkap.
- Jika XML Anda menggunakan elemen yang bertingkat dalam alih-alih struktur datar <row><kolom>, tool ini tidak akan meratakan tingkat bertingkat sembarang — ia mengharapkan satu tingkat elemen baris, masing-masing berisi elemen kolom sederhana.
Mengapa DOMParser daripada pembaca XML buatan sendiri
XML memiliki aturan struktural yang sesungguhnya — elemen bertingkat, tanda kutip atribut, escaping karakter untuk &, <, >, dan sebagainya — yang cenderung dikerjakan secara samar-samar salah oleh parser cepat berbasis regex pada apa pun selain input paling sederhana. Menggunakan API DOMParser bawaan browser berarti tool ini mengandalkan mesin XML yang sesuai standar yang sama yang digunakan browser itu sendiri untuk merender dokumen XML, alih-alih mengimplementasikan ulang penguraian XML dari awal. Ini juga berarti XML yang tidak valid — tag yang tidak ditutup, kurung sudut yang tersesat — muncul sebagai error penguraian yang jelas alih-alih diam-diam menghasilkan CSV yang rusak atau tidak lengkap.
Pertanyaan yang Sering Diajukan
Apakah ini menangani nilai CSV dengan koma atau tanda kutip dengan benar?
Ya. Parser CSV adalah parser mesin status yang tepat yang melacak apakah sedang berada di dalam field bertanda kutip, sehingga koma dan jeda baris di dalam tanda kutip (misalnya "Smith, John") serta tanda kutip ganda yang digunakan untuk meng-escape karakter tanda kutip literal semuanya ditangani dengan benar — tidak sekadar memisahkan pada setiap koma.
Bagaimana XML diurai — apakah itu parser regex kustom?
Tidak. XML → CSV menggunakan API DOMParser bawaan browser untuk mengurai XML menjadi pohon dokumen sungguhan, dengan cara yang sama seperti browser mengurai dokumen XML apa pun. Ini berarti XML yang tidak valid terdeteksi dan dilaporkan sebagai error, alih-alih diam-diam menghasilkan output yang salah seperti yang mungkin dilakukan parser regex buatan sendiri.
Apa yang terjadi pada nama kolom yang bukan tag XML valid?
Apa pun yang bukan huruf, digit, garis bawah, tanda hubung, atau titik diganti dengan garis bawah, dan garis bawah di depan ditambahkan jika nama tersebut seharusnya dimulai dengan digit atau tanda baca — karena nama elemen XML tidak bisa dimulai dengan angka atau mengandung spasi seperti yang bisa dilakukan header CSV.
Apakah data saya diunggah ke server?
Tidak. Kedua arah konversi berjalan sepenuhnya sebagai JavaScript di browser Anda, menggunakan mesin penguraian XML bawaan browser itu sendiri — tidak ada yang dikirim ke mana pun, sehingga aman digunakan dengan data bisnis atau pelanggan yang diekspor.
Apakah mengonversi CSV → XML → CSV akan mengembalikan persis apa yang saya mulai?
Untuk CSV yang terbentuk dengan baik dengan set kolom yang konsisten, ya — perjalanan bolak-balik mempertahankan nilai. Jika CSV asli Anda memiliki kolom yang tidak konsisten antar baris atau karakter tidak biasa dalam nama header, nama tag yang telah dibersihkan berarti ejaan header yang tepat mungkin tidak dipertahankan dengan sempurna, meskipun nilai data akan tetap terjaga.