Converti sqlite3 in xml

Convertitore online gratuito da SQLITE3 a XML

Converti database SQLite in XML per importazioni, scambio di dati o archiviazione strutturata.

Converti SQLITE3 in XML online - gratuito

Uploading…
I file selezionati superano il limite totale di 75 MB. Seleziona file meno numerosi o più piccoli.

Il tuo file viene elaborato istantaneamente ed eliminato non appena lo scarichi.

Come funziona

  1. 1/3

    Carica il tuo file .sqlite3

    Fai clic per selezionare il file che vuoi convertire oppure trascinalo semplicemente nell'area indicata.

  2. 2/3

    Avvia la conversione da .sqlite3 a .xml

    Dopo il caricamento del file, fai clic su converti quando sei pronto.

  3. 3/3

    Scarica il file .xml convertito

    Il risultato della conversione è pronto per il download.

Come convertire sqlite3 in xml file

  • Database

Un programma di importazione di database, un processo di archiviazione o un dispositivo può richiedere record in XML anziché in un file di database SQLite. XML può anche esporre dati selezionati a sistemi che non possono aprire direttamente SQLite.

Cos'è il formato SQLITE3

.sqlite3 è un'estensione del nome file comunemente utilizzata per un database SQLite. Il file è un singolo database serverless contenente tabelle, indici, viste, trigger e valori memorizzati; applicazioni mobili, browser, software desktop e dispositivi embedded lo creano frequentemente.

I database SQLite possono essere aperti con la shell a riga di comando sqlite3, SQLiteStudio, librerie per database e altri strumenti di gestione SQLite. Il file è un database, non un documento, quindi la conversione normalmente esporta righe e informazioni selezionate dello schema invece di riprodurre internamente il database originale.

Cos'è il formato XML

XML memorizza dati strutturati come elementi e attributi contrassegnati con testo. Viene utilizzato per lo scambio di dati, la configurazione, gli archivi di documenti e le importazioni in software che richiedono XML.

XML non dispone di un'unica rappresentazione standard per un database relazionale. Un convertitore deve decidere come rappresentare tabelle, colonne, righe, valori null, date, dati binari e relazioni, quindi due convertitori validi possono produrre strutture XML diverse. Verifica lo schema richiesto dall'applicazione di destinazione prima della conversione.

Come convertire un file SQLITE3 in XML

Per una conversione senza installare software, utilizza il convertitore su 101convert.com: carica il file .sqlite3, scegli XML come formato di output, avvia la conversione e scarica il risultato. Esamina l'output prima di importarlo, perché il servizio potrebbe utilizzare una propria struttura XML composta da tabelle e righe.

Convertire il database completo con Python

Il modulo integrato sqlite3 di Python può leggere il database, mentre xml.etree.ElementTree scrive XML ben formato. Questo esempio esporta le tabelle utente, preserva i valori null e codifica i BLOB in Base64. Richiede Python 3.9 o versioni successive perché utilizza 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()

Eseguilo da un terminale con:

python sqlite_to_xml.py input.sqlite3 output.xml

L'XML risultante contiene un elemento table per ogni tabella utente, un elemento row per ogni record e un elemento column per ogni valore. Lo script non esporta indici, viste, trigger, definizioni di chiavi esterne o dichiarazioni dei tipi SQLite.

Esportare record selezionati con la shell SQLite

La shell standard a riga di comando sqlite3 può esportare il risultato di una query nella sua modalità XML:

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

Questo esempio per shell POSIX esporta solo la tabella selezionata o il risultato della query. Aggiungi una clausola WHERE per filtrare i record oppure sostituisci la query con una join. La sintassi heredoc differisce nelle shell Windows; esegui interattivamente i tre comandi SQLite in tale ambiente. Questo metodo non esporta lo schema completo del database.

Limiti di qualità e compatibilità

  • Conserva il database originale. L'esportazione XML non è un backup reversibile e generalmente non può ricreare indici, trigger, viste, vincoli e metadati interni di SQLite.
  • SQLite utilizza la tipizzazione dinamica, mentre il contenuto XML viene solitamente letto come testo. Un sistema ricevente potrebbe aver bisogno di metadati di tipo espliciti per interi, numeri reali, date e stringhe.
  • Le chiavi esterne diventano solitamente normali valori di colonna. Verifica che le tabelle referenziate e le colonne chiave siano esportate e che l'importatore ricostruisca le relazioni.
  • Le date SQLite vengono comunemente memorizzate come testo, numeri o timestamp anziché come tipo data dedicato. Verifica il formato previsto per la data e il fuso orario.
  • I valori BLOB richiedono una rappresentazione definita, come Base64 o esadecimale. L'esempio Python utilizza Base64; un importatore deve decodificarlo.
  • XML ripete i nomi degli elementi e il markup, quindi i database di grandi dimensioni possono produrre file significativamente più grandi rispetto all'origine. Esporta solo le tabelle o le righe necessarie quando le dimensioni del file sono importanti.
  • Un XML ben formato non è necessariamente compatibile con l'applicazione di destinazione. Verifica l'elemento radice, gli spazi dei nomi, i nomi degli elementi, la codifica e lo schema richiesti.
  • Non caricare record riservati o soggetti a normative in un convertitore online, a meno che le condizioni relative alla gestione e alla conservazione dei dati non soddisfino i tuoi requisiti; utilizza il metodo locale con Python o la shell SQLite per i dati sensibili.

Confronto formato: SQLITE3 vs XML

Come i formati SQLITE3 e XML si confrontano sulle proprietà più importanti per questa conversione.

Confronto dei formati SQLITE3 e XML
Proprietà .SQLITE3 SQLite 3 database .XML Extensible Markup Language
Leggibile come testo semplice No Sì
Tipi di dati Tipizzato Tipizzato
Strutture nidificate Sì Sì
Formule No No
Più tabelle o fogli Sì —
Dimensione tipica del file Piccolo Piccolo
Standard aperto Sì Sì
Ideale per Scambio dati Scambio dati
Introdotto 2004 1998
Sviluppatore SQLite Consortium / D. Richard Hipp W3C
Tipo MIME application/vnd.sqlite3 application/xml

Domande frequenti

Il convertitore da SQLITE3 a XML è gratuito?

Sì, convertire SQLITE3 in XML su 101convert.com è completamente gratuito. Non sono richiesti registrazione, e-mail o installazione. Se hai bisogno di un limite di dimensione del file più alto o vuoi convertire più file alla volta, consulta i nostri piani.

Quanto può essere grande il mio file SQLITE3?

Puoi caricare file SQLITE3 fino a 50 MB e convertire fino a 20 file alla volta in un unico lotto.

Cosa succede ai file caricati?

I file vengono elaborati automaticamente ed eliminati dai nostri server pochi minuti dopo la conversione. Non visualizziamo né condividiamo mai i tuoi file.

Devo installare un software per convertire SQLITE3 in XML?

No. La conversione da SQLITE3 a XML avviene completamente online nel browser e funziona su Windows, Mac, Linux, Android e iPhone.

La conversione non è riuscita?

Nella maggior parte dei casi, la causa è un formato di file errato. Carica un file SQLITE3 valido per questa conversione da SQLITE3 a XML. A volte il problema può dipendere anche da noi. Analizziamo gli errori di conversione ricorrenti e disattiviamo o ripariamo il convertitore se rileviamo un difetto.