Este proyecto proporciona un conjunto de scripts y herramientas para convertir archivos XML en formato JSON. Está diseñado para funcionar con diferentes fuentes de datos XML y es totalmente personalizable, lo que admite módulos de conversión múltiples. El proyecto se divide en módulos de Python separados para manejar diferentes tipos de datos, incluidos documentos, personas y archivos.
La solución incluye:
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 Para usar esta herramienta, necesitará Python y PIP instalados.
Luego, ejecute el siguiente comando:
pip install -r requirements.txt Esto instalará bibliotecas necesarias para ejecutar el script. Luego, simplemente ejecute el script main_convert.py con las opciones apropiadas. Aquí están los comandos principales para ejecutar el programa desde el directorio XMLtoJSON :
Mostrar información de ayuda:
python3 scripts/main_convert.py --helpo
python3 scripts/main_convert.py --hConvierta todo tipo de archivos XML:
python3 scripts/main_convert.py --type all --input_path " path_for_input_data " --output_path " path_for_output_data "Convertir archivos XML relacionados con el nombre:
python3 scripts/main_convert.py --type names --input_path " path_for_input_data " --output_path " path_for_output_data "Convertir archivos XML relacionados con el registro:
python3 scripts/main_convert.py --type registers --input_path " path_for_input_data " --output_path " path_for_output_data "Convertir archivos XML relacionados con el archivo:
python3 scripts/main_convert.py --type archive --input_path " path_for_input_data " --output_path " path_for_output_data "La carpeta de datos de entrada debe estructurarse de la siguiente manera:
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 XMLtoJSONPara comenzar la conversión, use el script de conversión principal. Por ejemplo, para convertir todos los archivos XML:
python3 scripts/main_convert.py --type all --input_path " ../test_data " --output_path " ../test_data/output "También puede consultar todas las opciones disponibles y obtener información detallada ejecutando:
python3 scripts/main_convert.py --help Este comando comenzará a procesar los archivos XML en el directorio especificado --input_path y emitir los resultados al directorio --output_path .
Este proyecto fue heredado de otro equipo, e hicimos varias mejoras y correcciones significativas para mejorar su funcionalidad y confiabilidad:
Manejo de errores: espacios/caracteres en blanco para la sangría en el texto - en los archivos Regesten
display : este campo se utiliza para mostrar texto en el interfaz, asegurando que conserve el formato original para su legibilidad.processable : este campo contiene una versión más limpia del texto, optimizado para el procesamiento y el análisis de la computadora.Manejo de metadatos: Metadatos de problemas en Regesten
.p en los archivos Regesten. Faltaban algunos elementos o capturados incorrectamente. Realizamos una revisión exhaustiva y nos aseguramos de que todos los elementos de metadatos ahora sean capturados y procesados con precisión en nuestra iteración del programa. Interactividad mejorada: Agregar información onmouseover="highlightWords(event, '...')" en Regesten
onmouseover se agregó para resaltar las palabras cuando se desplaza. Los datos procesados ahora incluyen: "names" : [
{
"Aichholz_Johann" : " Johann Aichholz " ,
"alias" : " Johann Aichholz Ehrzney doctor "
},
{
"Strauben_Franz" : " Franz Strauben " ,
"alias" : " Frannzen Strauben "
}
]Procesamiento de nombres: dividir el nombre y el apellido a través de la herramienta externa - Gettyulan
Script principal unificado para la conversión
--type , --input_path y --output_path . Este cambio simplifica la ejecución y mejora la flexibilidad del proceso de conversión.Instrucciones mejoradas de documentación e configuración
Mejoras de rendimiento y correcciones de errores
Correcciones en la salida de archiv tipo JSON
hasSublink , linkTo y next_link en los archivos JSON de salida para el tipo de archiv. Esto asegura que estas variables estén representadas y vinculadas con precisión en la salida JSON.Estas mejoras han mejorado significativamente la funcionalidad, la usabilidad y la confiabilidad del proyecto XML a JSON Converter, lo que la hace más robusta y fácil de usar.