Konversi sqlite3 ke xml

Konverter online gratis SQLITE3 ke XML

Konversi database SQLite ke XML untuk imports, pertukaran data, atau pengarsipan terstruktur.

Konversi SQLITE3 ke XML online - gratis

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

File Anda diproses secara instan dan dihapus segera setelah Anda mengunduhnya.

Cara kerjanya

  1. 1/3

    Unggah file .sqlite3 Anda

    Klik untuk memilih file yang ingin Anda konversi, atau cukup seret dan lepas file ke area yang ditentukan.

  2. 2/3

    Jalankan konversi .sqlite3 ke .xml

    Setelah file berhasil diunggah, klik konversi saat Anda siap.

  3. 3/3

    Unduh file .xml hasil konversi

    Hasil konversi siap untuk diunduh.

Bagaimana mengkonversi sqlite3 ke xml berkas

Program import database, proses pengarsipan, atau perangkat mungkin memerlukan record dalam XML, bukan file database SQLite. XML juga dapat mengekspos data yang dipilih ke sistem yang tidak dapat membuka SQLite secara langsung.

Apa itu format SQLITE3

.sqlite3 adalah ekstensi nama file yang umum digunakan untuk database SQLite. File ini merupakan database serverless tunggal yang berisi tabel, indeks, view, trigger, dan nilai yang disimpan; aplikasi mobile, browser, software desktop, dan perangkat embedded sering membuatnya.

Database SQLite dapat dibuka dengan shell command-line sqlite3, SQLiteStudio, library database, dan tool manajemen SQLite lainnya. File ini adalah database, bukan dokumen, sehingga konversi biasanya mengekspor baris dan informasi schema yang dipilih, bukan mereproduksi database asli secara internal.

Apa itu format XML

XML menyimpan data terstruktur sebagai elemen dan atribut yang ditandai dengan teks. XML digunakan untuk pertukaran data, konfigurasi, arsip dokumen, dan import ke software yang memerlukan XML.

XML tidak memiliki satu representasi standar untuk database relasional. Converter harus menentukan cara merepresentasikan tabel, kolom, baris, nilai null, tanggal, data biner, dan relasi, sehingga dua converter yang valid dapat menghasilkan struktur XML yang berbeda. Periksa schema yang diperlukan aplikasi tujuan sebelum melakukan konversi.

Cara mengonversi file SQLITE3 ke XML

Untuk melakukan konversi tanpa menginstal software, gunakan converter di 101convert.com: upload file .sqlite3, pilih XML sebagai format output, mulai konversi, lalu download hasilnya. Periksa output sebelum mengimpornya karena layanan tersebut mungkin menggunakan struktur XML tabel-dan-barisnya sendiri.

Mengonversi seluruh database dengan Python

Module bawaan sqlite3 Python dapat membaca database, sedangkan xml.etree.ElementTree menulis XML yang well-formed. Contoh ini mengekspor tabel pengguna, mempertahankan nilai null, dan melakukan encoding BLOB dalam Base64. Contoh ini memerlukan Python 3.9 atau versi lebih baru karena menggunakan ET.indent.

import base64
import sqlite3
import sys
import xml.etree.ElementTree as ET

source, destination = sys.argv[1], sys.argv[2]
connection = sqlite3.connect(f"file:{source}?mode=ro", uri=True)
connection.row_factory = sqlite3.Row
root = ET.Element("database")

for (table_name,) in connection.execute(
    "SELECT name FROM sqlite_master "
    "WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name"
):
    table = ET.SubElement(root, "table", {"name": table_name})
    escaped_name = table_name.replace('"', '""')
    columns = [
        row[1] for row in connection.execute(
            f'PRAGMA table_info("{escaped_name}")'
        )
    ]
    quoted_name = '"' + escaped_name + '"'

    for record in connection.execute(f"SELECT * FROM {quoted_name}"):
        row_element = ET.SubElement(table, "row")
        for column in columns:
            value = record[column]
            cell = ET.SubElement(row_element, "column", {"name": column})
            if value is None:
                cell.set("null", "true")
            elif isinstance(value, bytes):
                cell.set("encoding", "base64")
                cell.text = base64.b64encode(value).decode("ascii")
            else:
                cell.text = str(value)

ET.indent(root, space="  ")
ET.ElementTree(root).write(destination, encoding="utf-8", xml_declaration=True)
connection.close()

Jalankan dari terminal dengan:

python sqlite_to_xml.py input.sqlite3 output.xml

XML yang dihasilkan memiliki satu elemen table untuk setiap tabel pengguna, satu row untuk setiap record, dan satu elemen column untuk setiap nilai. Script ini tidak mengekspor indeks, view, trigger, definisi foreign key, atau deklarasi tipe SQLite.

Mengekspor record yang dipilih dengan shell SQLite

Shell command-line standar sqlite3 dapat mengekspor hasil query dalam mode XML:

sqlite3 input.sqlite3 <<'SQL' > output.xml
.mode xml
.headers on
SELECT * FROM my_table;
SQL

Contoh POSIX-shell ini hanya mengekspor tabel atau hasil query yang dipilih. Tambahkan klausa WHERE untuk memfilter record, atau ganti query dengan join. Syntax heredoc berbeda pada shell Windows; jalankan ketiga command SQLite tersebut secara interaktif di sana. Metode ini tidak mengekspor schema database secara lengkap.

Batasan kualitas dan kompatibilitas

  • Simpan database asli. Export XML bukan backup yang dapat dibalik dan umumnya tidak dapat membuat ulang indeks SQLite, trigger, view, constraint, serta metadata internal.
  • SQLite menggunakan dynamic typing, sedangkan konten XML biasanya dibaca sebagai teks. Sistem penerima mungkin memerlukan metadata tipe eksplisit untuk integer, angka real, tanggal, dan string.
  • Foreign key biasanya menjadi nilai kolom biasa. Pastikan tabel yang dirujuk dan kolom key diekspor serta importer membuat ulang relasi.
  • Tanggal SQLite biasanya disimpan sebagai teks, angka, atau timestamp, bukan sebagai tipe tanggal khusus. Verifikasi format tanggal dan timezone yang diharapkan.
  • Nilai BLOB memerlukan representasi yang ditentukan, seperti Base64 atau heksadesimal. Contoh Python menggunakan Base64; importer harus melakukan decode terhadapnya.
  • XML mengulangi nama elemen dan markup, sehingga database besar dapat menghasilkan file yang jauh lebih besar daripada sumbernya. Ekspor hanya tabel atau baris yang diperlukan jika ukuran file menjadi pertimbangan.
  • XML yang well-formed belum tentu kompatibel dengan aplikasi target. Periksa elemen root, namespace, nama elemen, encoding, dan schema yang diperlukan.
  • Jangan upload record rahasia atau yang diatur regulasi ke converter online kecuali ketentuan penanganan dan retensinya memenuhi kebutuhan Anda; gunakan metode Python lokal atau SQLite-shell untuk data sensitif.

SQLITE3 vs XML: perbandingan format

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

Perbandingan format file SQLITE3 dan XML
Properti .SQLITE3 SQLite 3 database .XML Extensible Markup Language
Dapat dibaca teks biasa Tidak Ya
Tipe data Bertipe Bertipe
Struktur bertingkat Ya Ya
Rumus Tidak Tidak
Beberapa tabel atau sheet Ya —
Ukuran file umum Kecil Kecil
Standar terbuka Ya Ya
Paling cocok untuk Pertukaran data Pertukaran data
Diperkenalkan 2004 1998
Pengembang SQLite Consortium / D. Richard Hipp W3C
Tipe MIME application/vnd.sqlite3 application/xml

Pertanyaan yang sering diajukan

Apakah konverter SQLITE3 ke XML gratis?

Ya, mengonversi SQLITE3 ke XML di 101convert.com sepenuhnya gratis. Tidak perlu registrasi, alamat email, atau instalasi. Jika Anda membutuhkan batas ukuran file yang lebih besar atau ingin mengonversi lebih banyak file sekaligus, lihat paket kami.

Seberapa besar file SQLITE3 yang bisa saya unggah?

Anda dapat mengunggah file SQLITE3 hingga 50 MB dan mengonversi hingga 20 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 SQLITE3 ke XML?

Tidak. Konversi SQLITE3 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 SQLITE3 yang valid untuk konversi SQLITE3 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.