Konversi csv ke xml

Konverter online gratis CSV ke XML

Konversikan data CSV tabular menjadi XML terstruktur untuk sistem yang memerlukan elemen dan skema bernama.

Konversi CSV ke XML online - gratis

Uploading…
File yang dipilih melebihi batas total 75 MB. Pilih file yang lebih sedikit atau lebih kecil.

File Anda diproses secara instan dan tidak pernah disimpan di server kami.

Bagaimana mengkonversi csv ke xml berkas

Sistem data-import, perangkat, atau aplikasi bisnis mungkin memerlukan XML, bukan file CSV tabular. Konversi mempertahankan record sambil mengekspresikan field-nya sebagai elemen bernama yang dapat diproses, divalidasi, dan dipertukarkan oleh software.

Apa itu format CSV

CSV (comma-separated values) menyimpan data berbentuk persegi panjang sebagai baris dan kolom. Setiap baris biasanya mewakili satu record, dan baris pertama dapat berisi nama kolom seperti id,name,price.

Meskipun namanya demikian, file CSV dapat menggunakan koma, titik koma, tab, atau delimiter lainnya. Nilai yang berisi delimiter, pemisah baris, atau tanda kutip biasanya diapit oleh tanda kutip ganda; tanda kutip ganda di dalam nilai direpresentasikan dengan dua tanda kutip ganda berturut-turut. Konvensi CSV tidak sepenuhnya seragam, sehingga delimiter, aturan quoting, line ending, dan character encoding harus diidentifikasi sebelum konversi.

Aplikasi spreadsheet seperti Microsoft Excel dan LibreOffice Calc dapat mengekspor file CSV. Database, sistem akuntansi, contact manager, instrumen laboratorium, dan script juga menggunakannya. CSV sesuai untuk tabel sederhana, tetapi tidak secara native menjelaskan record bertingkat, atribut, data type, validation rule, atau hubungan antartabel.

Apa itu format XML

XML (Extensible Markup Language) menyimpan teks terstruktur menggunakan elemen dan atribut. Satu baris untuk customer dapat menjadi elemen <customer> yang berisi child element seperti <id>, <name>, dan <email>.

XML dapat merepresentasikan hierarki, record berulang, namespace, komentar, dan validation rule yang ditentukan oleh schema seperti XSD. Fitur-fitur ini mendukung application interface, file konfigurasi, pertukaran dokumen, sistem publikasi, dan arsip yang memerlukan struktur eksplisit. XML biasanya lebih verbose daripada CSV, dan converter tidak dapat menyimpulkan hubungan bisnis atau schema yang diperlukan oleh penerima hanya dari nama kolom.

Cara mengonversi file CSV ke XML

Menggunakan online converter bawaan

  1. Buka CSV-to-XML converter di 101convert.com.
  2. Pilih atau upload file sumber .csv.
  3. Pilih delimiter yang digunakan oleh file, biasanya koma, titik koma, atau tab, lalu tentukan apakah baris pertama berisi column header.
  4. Pilih UTF-8 jika data berisi karakter beraksen, teks non-Latin, atau simbol.
  5. Pilih struktur XML jika opsi tersedia. Struktur yang umum memiliki satu root element, satu repeated record element, dan satu child element untuk setiap kolom.
  6. Mulai konversi dan download file .xml yang dihasilkan.

File dapat dikonversi di 101convert.com tanpa menginstal software. Jangan upload data rahasia, yang diatur oleh regulasi, atau data yang dapat mengidentifikasi pribadi, kecuali layanan tersebut memenuhi persyaratan penanganan data yang berlaku.

Menggunakan Python

Standard library Python dapat melakukan konversi berulang tanpa package tambahan. Contoh ini membaca header row, menggunakan mapping konservatif untuk nama elemen XML, dan menulis XML dalam UTF-8:

import csv
import re
import xml.etree.ElementTree as ET

def xml_name(header, number):
    name = re.sub(r"[^A-Za-z0-9_.-]", "_", header.strip())
    if not name or not re.match(r"^[A-Za-z_]", name):
        name = f"field_{number}"
    return name

root = ET.Element("records")
with open("input.csv", newline="", encoding="utf-8-sig") as source:
    reader = csv.DictReader(source, delimiter=",")
    headers = [xml_name(h or "", i) for i, h in enumerate(reader.fieldnames or [], 1)]
    for values in reader:
        record = ET.SubElement(root, "record")
        for number, (original, value) in enumerate(values.items(), 1):
            field = ET.SubElement(record, headers[number - 1])
            field.text = value or ""

ET.ElementTree(root).write("output.xml", encoding="utf-8", xml_declaration=True)

Simpan script sebagai csv_to_xml.py dan jalankan python csv_to_xml.py. Ubah delimiter="," untuk file yang menggunakan delimiter titik koma atau tab, lalu ganti records dan record dengan nama yang diperlukan oleh sistem penerima. Script mengasumsikan header yang unik; setelah pembersihan nama, header duplikat harus diubah namanya atau dipetakan secara eksplisit.

Pemeriksaan compatibility dan data quality

  • Petakan struktur ke destination schema. File XML yang well-formed tetap dapat ditolak jika memiliki root element, namespace, nesting, field order, required element, atau data format yang salah. Gunakan XSD atau sample XML dari penerima jika tersedia.
  • Periksa nama elemen XML. Nama header tidak dapat digunakan apa adanya jika diawali angka atau berisi spasi dan karakter lain yang dilarang. Ubah namanya atau konfigurasikan explicit mapping. Hindari mengonversi header arbitrer secara langsung menjadi tag XML tanpa validation.
  • Tentukan data type secara eksplisit. CSV tidak secara andal membedakan identifier, angka, tanggal, dan nilai Boolean. Pertahankan nilai seperti 00125 sebagai string jika angka nol di depan penting, lalu tentukan decimal separator, date format, dan Boolean representation.
  • Tentukan cara merepresentasikan field kosong. Elemen yang tidak ada, elemen kosong seperti <email/>, dan atribut kosong dapat memiliki arti yang berbeda bagi receiving application.
  • Verifikasi encoding. UTF-8 biasanya menjadi pilihan. Deklarasi XML, seperti <?xml version="1.0" encoding="UTF-8"?>, harus sesuai dengan encoding file yang sebenarnya.
  • Pertahankan escaping. Ampersand, tanda kurang dari, dan karakter khusus lainnya harus di-escape dalam XML. Library dan converter yang benar akan menanganinya; menggabungkan string XML secara manual dapat menghasilkan dokumen yang tidak valid.
  • Periksa baris dan nilai setelah konversi. Bandingkan jumlah record, header, field yang diapit tanda kutip, pemisah baris, nilai kosong, tanggal, nilai desimal, dan karakter non-ASCII dengan sumbernya. File berukuran besar mungkin juga memerlukan streaming converter, bukan memuat seluruh dataset ke dalam memory.

CSV vs XML: perbandingan format

Bagaimana format CSV dan XML dibandingkan pada properti yang paling penting untuk konversi ini.

Perbandingan format file CSV dan XML
Properti .CSV Comma-Separated Values .XML Extensible Markup Language
Dapat dibaca teks biasa Ya Ya
Tipe data Bertipe Bertipe
Struktur bertingkat Tidak Ya
Rumus Tidak Tidak
Beberapa tabel atau sheet Tidak
Ukuran file umum Kecil Kecil
Standar terbuka Ya Ya
Paling cocok untuk Pertukaran data Pertukaran data
Diperkenalkan 1998
Pengembang W3C
Tipe MIME text/csv application/xml

Pertanyaan yang sering diajukan

Apakah konverter CSV ke XML gratis?

Ya, mengonversi CSV ke XML di 101convert.com sepenuhnya gratis. Tidak perlu registrasi, alamat email, atau instalasi.

Seberapa besar file CSV yang bisa saya unggah?

Anda dapat mengunggah file CSV hingga 300 MB dan mengonversi hingga 100 file sekaligus dalam satu batch.

Apa yang terjadi pada file yang saya unggah?

File diproses secara otomatis dan dihapus dari server kami beberapa menit setelah konversi. Kami tidak pernah melihat atau membagikan file Anda.

Apakah saya perlu menginstal perangkat lunak untuk mengonversi CSV ke XML?

Tidak. Konversi CSV ke XML berjalan sepenuhnya online di browser dan berfungsi di Windows, Mac, Linux, Android, dan iPhone.

Konversi gagal?

Dalam sebagian besar kasus, penyebabnya adalah format file yang tidak sesuai. Unggah file CSV yang valid untuk konversi CSV ke XML ini. Terkadang masalah juga dapat terjadi di pihak kami. Kami menganalisis kegagalan konversi yang berulang dan menonaktifkan atau memperbaiki konverter jika menemukan kerusakan.

Konversi berkas csv lainnya

Konversi terbalik

Konversi ke xml
dari format lain

Bagikan di media sosial: