I file di testo sono probabilmente il modo migliore per andare, per ora. Puoi formattarli come vuoi. Se i tuoi metadati sono abbastanza semplici probabilmente non hai nemmeno bisogno di XML, solo un token per separare i dati di intestazione dal quiz attuale come:
tags: health, happines
title: Are you happy and Healthy?
----
Question 1: blah blah blah...
Qui hai le righe di intestazione che contengono i metadati, per indicare quali sono i tag per questo quiz e il titolo. Quindi un token molto semplice: ----
sulla propria riga, seguito dal resto del quiz, fino alla fine del file. Puoi aggiungere altre linee di intestazione se ne hai bisogno.
Se vuoi tenerli tutti dentro una volta, crea un token separato per separare i quiz. Qualcosa di semplice come ////
su una propria linea dovrebbe funzionare. Sembrerebbero più quiz:
////
tags: health, happiness
title: Quiz 1
----
Question 1: blah blah blah...
(other questions)
////
tags: pets, cheese
title: Quiz 2
----
Question 1: bleh bleh bleh...
(other questions)
////
Dopo aver deciso un formato per i file del quiz, è possibile caricarli in una cache in memoria in modo da non dover continuare a ricaricarli. Costruisci la cache una volta, quando inizia il tuo programma, e il gioco è fatto!
Se trovi che hai così tanti quiz che il caricamento dei file di testo è troppo lento, o che i tuoi metadati diventano troppo complicati da conservare in semplici righe di intestazione, o vuoi iniziare i quiz e gli utenti con riferimenti incrociati "Risposte, potresti voler esaminare l'impostazione di un database relazionale (come MySQL o Postgres - entrambi sono gratuiti!) per memorizzare quiz e dati relativi ai quiz.