Ubah CSV ke XML
Bungkus tabel CSV dalam XML yang valid: nama tag root dan baris sesuai pilihan Anda, kolom sebagai elemen atau atribut, dan header diperbaiki menjadi nama tag yang sah.
Letakkan file di sini
.csv, .tsv, .txt · hingga 300 MB
Pengaturan lainnyaSembunyikan pengaturan
Cara Ubah ke XML
- 1
Letakkan file CSV
Seret file .csv, .tsv, atau .txt ke halaman ini. Pemisah dan encoding karakter ditentukan dari byte file itu sendiri.
- 2
Beri nama tag root dan baris
Tentukan tag yang membungkus dokumen dan tag yang membungkus setiap baris: rows dan row secara bawaan, atau catalog dan product jika itu yang dibaca sistem tujuan.
- 3
Ubah dan unduh XML
Tekan tombol, lalu simpan dokumen XML yang well-formed, lengkap dengan deklarasi dan indentasi yang sebenarnya.
Header kolom yang tidak bisa menjadi nama tag
Hasil ekspor sungguhan punya header seperti 2024 sales, order id, atau sel kosong, dan tidak satu pun yang merupakan nama XML yang sah. Membuang kolom seperti itu berarti kehilangan data, jadi namanya diperbaiki sesuai aturan XML 1.0: karakter yang tidak sah menjadi garis bawah, digit di awal diberi huruf n di depannya, dan header kosong menjadi column_1. Setiap penggantian nama dicantumkan dalam daftar.
Elemen atau atribut, dan kapan pilihan itu diabaikan
Setiap kolom bisa menjadi elemen anak dari baris atau atribut pada baris itu. Atribut menghasilkan dokumen yang ringkas, tetapi parser XML menormalkan jeda baris di dalam nilai atribut menjadi spasi. Karena itu, kolom yang berisi teks beberapa baris selalu ditulis sebagai elemen, apa pun pengaturannya, dan Anda diberi tahu kolom mana yang dimaksud.
Karakter khusus dan encoding yang tidak perlu Anda pikirkan
Tanda & dan kurung sudut (< >) dalam data otomatis diubah menjadi entitas XML, begitu pula tanda kutip di dalam atribut. Karakter kontrol yang sama sekali dilarang XML dibuang, dan jumlahnya dihitung. Hasilnya selalu UTF-8 tanpa byte order mark, dengan deklarasi XML yang menyatakan hal itu, apa pun encoding yang dipakai CSV sumber.
Tanpa unggahan, tanpa server, tanpa salinan
Proses decode CSV, perbaikan nama, escape nilai, dan penyusunan dokumen semuanya berlangsung di tab browser ini, dengan JavaScript yang ikut dimuat bersama halaman. File tidak pernah dikirim ke mana pun, jadi daftar harga atau ekspor data pelanggan tetap berada di perangkat Anda, bahkan selama dikonversi.
Pertanyaan yang sering diajukan
Bisakah saya memilih nama tag sendiri?
Bisa, keduanya. Elemen root secara bawaan bernama rows dan setiap record bernama row, dan keduanya bisa diganti dengan nama apa pun yang valid, misalnya catalog dan product, atau orders dan order. Nama yang akan ditolak XML, seperti nama yang diawali digit, ditolak sejak awal dengan saran perbaikan, bukan menghasilkan file yang rusak.
Sebaiknya kolom dijadikan elemen atau atribut?
Elemen adalah pilihan bawaan yang lebih aman: elemen bisa memuat teks apa pun, termasuk jeda baris, dan sebagian besar skema mengharapkannya. Atribut menghasilkan dokumen yang jauh lebih pendek dan cocok untuk pengenal singkat, tetapi nilainya harus satu baris. Pilih bentuk yang diharapkan sistem yang akan membaca file itu.
Apa yang terjadi pada header seperti 2024 sales?
Secara bawaan, header itu dibersihkan menjadi tag yang valid: spasi menjadi garis bawah dan digit di awal diberi awalan, sehingga hasilnya n2024_sales. Daftar semua kolom yang namanya diganti ditampilkan, jadi tidak ada yang berubah tanpa sepengetahuan Anda. Jika Anda lebih suka proses dihentikan daripada nama diperbaiki, pilih opsi berhenti untuk nama yang tidak valid.
CSV saya memakai titik koma dan Windows-1251. Apakah perlu dikonversi dulu?
Tidak. Titik koma, tab, garis tegak, dan titik dua semuanya diuji bersama koma. Encoding dideteksi dari byte order mark, atau jika tidak ada, dari pemeriksaan UTF-8 yang ketat dengan Windows-1251 atau Windows-1252 sebagai cadangan. Keduanya bisa diatur manual jika hasil deteksi berbeda dari yang Anda ketahui.
Apakah sel kosong tetap ada di hasil?
Secara bawaan, sel kosong menjadi elemen kosong yang menutup sendiri (self-closing). Dengan begitu setiap record punya bentuk yang sama, dan program pembaca lebih mudah menelusurinya satu per satu. Ubah opsi sel kosong ke lewati, dan elemen itu dihilangkan sama sekali, sehingga dokumen lebih kecil tetapi bentuk record bervariasi.
XML ditulis dengan encoding apa?
Selalu UTF-8, tanpa byte order mark, dengan deklarasi yang sesuai di bagian atas. Kombinasi itulah yang diasumsikan parser XML, dan kombinasi itu mencegah ketidakcocokan antara encoding yang dinyatakan dan byte yang sebenarnya. Deklarasi bisa dimatikan untuk potongan XML yang akan disisipkan ke dokumen yang lebih besar.
Dua kolom saya bernama id. Apa yang terjadi?
Kolom kedua menjadi id_2 dan ketiga menjadi id_3, karena tanpa itu program yang menelusuri elemen anak sebuah record tidak bisa membedakannya. Penggantian nama ini muncul di daftar yang sama dengan nama yang sudah dibersihkan.
Apakah file diunggah untuk dikonversi?
Tidak. Semuanya berjalan secara lokal di browser, tanpa melibatkan server, dan tidak ada salinan tabel yang disimpan di mana pun setelah tab ditutup.