Langsung ke konten utama
PulsarKit

Ubah XML ke CSV

Ubah feed, ekspor produk, atau file RSS menjadi tabel spreadsheet. Elemen record yang berulang ditemukan otomatis, tanpa perlu XPath.

Letakkan file di sini

.xml, .rss, .xhtml, .txt · hingga 300 MB

Pengaturan lainnya

Cara Ubah ke CSV

  1. 1

    Letakkan file XML

    Seret file .xml atau .rss ke halaman. File divalidasi lebih dulu, jadi tag penutup yang hilang dilaporkan beserta baris dan kolomnya, bukan menghasilkan setengah tabel.

  2. 2

    Pastikan elemen record

    Elemen yang berulang dideteksi dan ditampilkan bersama jumlah record di dalamnya, misalnya rss.channel.item dengan empat puluh record. Pilih kandidat lain jika itu bukan tingkat yang Anda inginkan.

  3. 3

    Ubah dan unduh CSV

    Tekan tombol dan simpan tabelnya.

XML tidak punya baris, jadi barisnya dicari

Struktur pohon tidak memberi tahu tingkat mana yang merupakan record. Dokumen ditelusuri sampai kedalaman enam sambil menghitung berapa elemen bersaudara bernama sama di setiap path. Kelompok terbesar menang, dan jika seri, path yang lebih dalam diutamakan, karena rss.channel.item lebih berguna daripada rss.channel. Hingga lima kandidat ditawarkan, dan setiap kandidat disertai jumlah record.

Atribut, elemen bersarang, dan elemen anak yang berulang

Atribut menjadi kolom tersendiri dengan awalan @, jadi id pada produk tidak bentrok dengan elemen anak yang bernama sama. Elemen anak menjadi kolom dengan nama bertitik sampai kedalaman yang Anda izinkan, dan apa pun yang lebih dalam ditulis ke satu sel sebagai JSON. Elemen anak yang berulang bisa digabung, dinomori, atau disimpan sebagai JSON.

Namespace dan dokumen berbahaya

Awalan namespace dibuang secara default, jadi dc:title masuk sebagai kolom title biasa, dan feed yang mencampur tiga kosakata tetap menghasilkan header yang mudah dibaca. Dokumen yang mendeklarasikan entitas kustom di DOCTYPE ditolak sebelum diurai, bukan diekspansi; jenis file seperti itulah yang membuat tab browser macet.

Konversi tanpa mengirim file ke server

Validator, parser, dan penulis CSV semuanya berupa JavaScript yang berjalan di tab browser ini. Tidak ada bagian dokumen yang dikirim ke server, disimpan, atau dicatat, dan alat ini tetap bekerja saat jaringan dimatikan. Tutup tab, dan tidak ada sisa file yang tertinggal.

Pertanyaan yang sering diajukan

Bagaimana alat ini menentukan elemen mana yang menjadi record?

Dengan menghitung pengulangan. Setiap path sampai kedalaman enam diperiksa untuk mencari elemen bersaudara yang bernama sama, dan path dengan jumlah terbanyak menjadi record. Jika dua path seri, yang lebih dalam menang. Alternatif lainnya tetap terlihat beserta jumlahnya, dan Anda juga bisa mengetik path sendiri jika strukturnya tidak biasa.

Ke mana atribut XML masuk?

Setiap atribut menjadi kolom dengan awalan @, jadi atribut id menjadi @id dan tetap terpisah dari elemen anak id. Jika ekspor Anda membawa atribut yang tidak diperlukan, setel atribut agar tidak disertakan: semua atribut dibuang dan tabelnya jadi lebih ramping.

Apa yang terjadi pada elemen bersarang di dalam record?

Elemen itu menjadi kolom dengan nama bertitik seperti price.currency, sampai batas kedalaman yang Anda tetapkan. Di bawah batas itu, seluruh subpohon ditulis ke satu sel sebagai JSON, sehingga data tetap tersedia tanpa menghasilkan ribuan kolom yang nyaris kosong.

Mengapa CSV diawali byte order mark (BOM)?

Agar Excel mengenali file sebagai UTF-8 saat diklik dua kali, bukan menebak halaman kode (code page) lama lalu merusak huruf beraksen atau Sirilik. Jika file ditujukan untuk skrip atau pemuat database yang tidak menyukai penanda itu, UTF-8 biasa tinggal satu pengaturan saja.

Excel menampilkan semuanya dalam satu kolom. Apa yang salah?

Tidak ada yang salah pada file. Excel memisahkan kolom dengan pemisah dari pengaturan regional sistem Anda, yang di sebagian besar Eropa berupa titik koma. Konversi ulang dengan memilih titik koma, atau gunakan Data lalu Text to Columns (Teks ke Kolom) pada file yang sudah ada.

Apakah bisa untuk feed RSS atau Atom?

Bisa, dan itu kasus paling mudah. Deteksi dengan sendirinya menemukan rss.channel.item atau elemen entry yang setara, setiap item menjadi satu baris, dan ekstensi dengan namespace seperti Dublin Core atau tag media masuk sebagai kolom biasa setelah awalannya dibuang.

Mengapa ada tanda kutip sebelum nilai yang diawali tanda sama dengan?

Karena tanpa itu spreadsheet akan menganggapnya rumus, dan nilai dari feed yang tidak tepercaya bisa dirancang untuk menjalankan perintah saat file dibuka. Apostrof di depan nilai menetralkannya. Angka negatif biasa seperti -5 tidak disentuh.

File saya punya DOCTYPE dan ditolak. Mengapa?

DOCTYPE yang mendeklarasikan entitas memang sengaja ditolak. Definisi entitas bersarang bisa mengembang menjadi gigabyte teks dan membekukan tab, sedangkan entitas eksternal bisa menjangkau file di tempat lain. Hapus deklarasi entitas dari DOCTYPE, dan dokumen akan dikonversi seperti biasa.

Alat terkait