La cosa con i database è, sono costruiti per memorizzare milioni di record . A meno che tu non abbia una buona ragione per non farlo, la soluzione più semplice sarebbe ... memorizzare informazioni di corrispondenza dettagliate nel database MySQL stesso.
SQLite è probabilmente una buona opzione se l'applicazione non ha bisogno di un unico database globale, ma invece si trova su archivi di dati locali (che non sembra essere il caso). Qualcosa come la configurazione dell'applicazione, le impostazioni dell'utente locale o i dati privati. Essendo database anche SQLite è anche bravo a memorizzare milioni di record . Se lo desideri, potresti anche eseguire la migrazione dell'intera cosa a SQLite.
Infine, consiglierei di non memorizzare i dati delle partite in XML. I file XML di solito impiegano più tempo per essere elaborati (ma sono più user-friendly), ma in realtà sono spesso usati per generare report store . Tuttavia, tali rapporti si basano su alcuni dati esistenti - nel tuo caso si tratta di dettagli di corrispondenza, che devono essere memorizzati da qualche parte. Generare report XML da dati in XML non sembra davvero cosa da fare, quindi il mio consiglio.
Inoltre, l'uso del database come memoria (al contrario del file XML) ti consentirà di generare facilmente contenuti diversi dagli stessi dati. Ora vuoi rapporti - bene, questo può essere facilmente costruito (anche in file XML) usando il contenuto memorizzato nel database. In seguito potresti aver bisogno di un rapporto abbreviato, o solo di un rapporto dei primi 15 minuti, o di una divisione a metà, qualsiasi cosa. Potrebbe essere più facile costruire quelle cose usando i dati dal database, piuttosto che in XML. Pensa a un XML in questo caso come prodotto finale (rapporto per utente), mentre le righe di database non elaborate - qualcosa che ti consente di creare quei prodotti finali.