Ce projet fournit un ensemble de scripts et d'outils pour convertir les fichiers XML au format JSON. Il est conçu pour fonctionner avec différentes sources de données XML et est entièrement personnalisable, prenant en charge plusieurs modules de conversion. Le projet est divisé en modules Python distincts pour gérer différents types de données, y compris les documents, les personnes et les archives.
La solution comprend:
convert/
archiveLinkConvert.py # Handles conversion of archive link XMLs
artworkConvert.py # Handles artwork XML data
commonConvert.py # Contains common conversion utilities
personConvert.py # Handles conversion of person-related XMLs
docs/
pictures/ # Picture documentation related to the project
Analyza_SP.md # Analysis related documentation
documentaria_rudolphina.md # Project-specific documentation
model/
ArchiveLink.py # Data model for archive links
Document.py # Data model for documents
Person.py # Data model for person records
scripts/
main_convert.py # Main script to execute conversion
.gitignore # Git ignore configuration
README.md # This documentation file Pour utiliser cet outil, vous aurez besoin de Python et PIP installé.
Ensuite, exécutez la commande suivante:
pip install -r requirements.txt Cela installera les bibliothèques nécessaires pour exécuter le script. Ensuite, exécutez simplement le script main_convert.py avec les options appropriées. Voici les principales commandes pour exécuter le programme à partir du répertoire XMLtoJSON :
Afficher les informations d'aide:
python3 scripts/main_convert.py --helpou
python3 scripts/main_convert.py --hConvertir tous les types de fichiers XML:
python3 scripts/main_convert.py --type all --input_path " path_for_input_data " --output_path " path_for_output_data "Convertir les fichiers XML liés au nom:
python3 scripts/main_convert.py --type names --input_path " path_for_input_data " --output_path " path_for_output_data "Convertir les fichiers XML liés au registre:
python3 scripts/main_convert.py --type registers --input_path " path_for_input_data " --output_path " path_for_output_data "Convertir les fichiers XML liés aux archives:
python3 scripts/main_convert.py --type archive --input_path " path_for_input_data " --output_path " path_for_output_data "Le dossier de données d'entrée doit être structuré comme suit:
input_data/
Archiv/ # Archive-related XML files
Regesten/ # Register-related XML files
Namen/ # Name-related XML files
Indicies/ # Index-related XML files git clone https://github.com/VandlJ.git
cd XMLtoJSONPour commencer la conversion, utilisez le script de conversion principal. Par exemple, pour convertir tous les fichiers XML:
python3 scripts/main_convert.py --type all --input_path " ../test_data " --output_path " ../test_data/output "Vous pouvez également consulter toutes les options disponibles et obtenir des informations détaillées en exécutant:
python3 scripts/main_convert.py --help Cette commande commencera à traiter les fichiers XML dans le répertoire spécifié --input_path et sortira les résultats du répertoire --output_path .
Ce projet a été hérité d'une autre équipe, et nous avons apporté plusieurs améliorations et correctifs significatifs pour améliorer sa fonctionnalité et sa fiabilité:
Gestion des erreurs: espaces / caractères vierges pour l'indentation dans le texte - dans les fichiers Reheten
display : Ce champ est utilisé pour afficher du texte sur le frontend, garantissant qu'il conserve le formatage d'origine pour la lisibilité.processable : Ce champ contient une version plus propre du texte, optimisé pour le traitement et l'analyse informatiques.Manipulation des métadonnées: métadonnées problématiques dans Rebelesten
.p dans les fichiers Reheten. Certains éléments manquaient ou incorrectement capturés. Nous avons effectué un examen approfondi et nous sommes assurés que tous les éléments de métadonnées sont désormais capturés et traités avec précision dans notre itération du programme. Interactivité améliorée: ajouter des informations onmouseover="highlightWords(event, '...')" dans Reheten
onmouseover a été ajouté pour mettre en évidence les mots lorsqu'il a survolé. Les données traitées comprennent désormais: "names" : [
{
"Aichholz_Johann" : " Johann Aichholz " ,
"alias" : " Johann Aichholz Ehrzney doctor "
},
{
"Strauben_Franz" : " Franz Strauben " ,
"alias" : " Frannzen Strauben "
}
]Traitement du nom: division du prénom et du nom de famille via l'outil externe - Gettyulan
Script principal unifié pour la conversion
--type , --input_path et --output_path . Ce changement simplifie l'exécution et améliore la flexibilité du processus de conversion.Amélioration des instructions de documentation et de configuration
Améliorations des performances et correctifs de bogues
Correction de la sortie JSON de type archiv
hasSublink , linkTo et next_link dans les fichiers JSON de sortie pour le type archiv. Cela garantit que ces variables sont représentées avec précision et liées dans la sortie JSON.Ces améliorations ont considérablement amélioré la fonctionnalité, la convivialité et la fiabilité du projet XML à JSON Converter, le rendant plus robuste et convivial.