Este projeto fornece um conjunto de scripts e ferramentas para converter arquivos XML em formato JSON. Ele foi projetado para funcionar com diferentes fontes de dados XML e é totalmente personalizável, suportando vários módulos de conversão. O projeto é dividido em módulos Python separados para lidar com diferentes tipos de dados, incluindo documentos, pessoas e arquivos.
A solução inclui:
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 ferramenta, você precisará de Python e Pip instalados.
Em seguida, execute o seguinte comando:
pip install -r requirements.txt Isso instalará as bibliotecas necessárias para executar o script. Em seguida, basta executar o script main_convert.py com as opções apropriadas. Aqui estão os principais comandos para executar o programa no diretório XMLtoJSON :
Exibir informações de ajuda:
python3 scripts/main_convert.py --helpou
python3 scripts/main_convert.py --hConverta todos os tipos de arquivos XML:
python3 scripts/main_convert.py --type all --input_path " path_for_input_data " --output_path " path_for_output_data "Converter arquivos XML relacionados ao nome:
python3 scripts/main_convert.py --type names --input_path " path_for_input_data " --output_path " path_for_output_data "Converta arquivos XML relacionados ao registro:
python3 scripts/main_convert.py --type registers --input_path " path_for_input_data " --output_path " path_for_output_data "Converter arquivos XML relacionados ao arquivo:
python3 scripts/main_convert.py --type archive --input_path " path_for_input_data " --output_path " path_for_output_data "A pasta de dados de entrada deve ser estruturada da seguinte forma:
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 iniciar a conversão, use o script de conversão principal. Por exemplo, para converter todos os arquivos XML:
python3 scripts/main_convert.py --type all --input_path " ../test_data " --output_path " ../test_data/output "Você também pode conferir todas as opções disponíveis e obter informações detalhadas executando:
python3 scripts/main_convert.py --help Este comando começará a processar os arquivos XML no diretório especificado --input_path e produzirá os resultados para o diretório --output_path .
Este projeto foi herdado de outra equipe e fizemos várias melhorias e correções significativas para melhorar sua funcionalidade e confiabilidade:
Manuseio de erros: espaços/caracteres em branco para recuo no texto - em arquivos Regesten
display : Este campo é usado para exibir texto no front -end, garantindo que retém a formatação original para a legibilidade.processable : Este campo contém uma versão mais limpa do texto, otimizada para processamento e análise de computador.Manuseio de metadados: metadados do problema em Regesten
.p nos arquivos Regesten. Alguns elementos estavam ausentes ou capturados incorretamente. Realizamos uma revisão completa e garantimos que todos os elementos de metadados agora sejam capturados e processados com precisão em nossa iteração do programa. Interatividade aprimorada: adicione informações onmouseover="highlightWords(event, '...')" em Regesten
onmouseover foi adicionado para destacar palavras quando pairou. Os dados processados agora incluem: "names" : [
{
"Aichholz_Johann" : " Johann Aichholz " ,
"alias" : " Johann Aichholz Ehrzney doctor "
},
{
"Strauben_Franz" : " Franz Strauben " ,
"alias" : " Frannzen Strauben "
}
]Nome Processamento: dividindo o primeiro nome e sobrenome via ferramenta externa - Gettyulan
Script principal unificado para conversão
--type , --input_path e --output_path . Essa mudança simplifica a execução e aumenta a flexibilidade do processo de conversão.Documentação aprimorada e instruções de configuração
Aprimoramentos de desempenho e correções de bugs
Correções na saída JSON do tipo Archiv
hasSublink , linkTo e next_link nos arquivos JSON de saída para o tipo Archiv. Isso garante que essas variáveis sejam representadas e vinculadas com precisão na saída JSON.Essas melhorias aumentaram significativamente a funcionalidade, a usabilidade e a confiabilidade do projeto de conversor XML para JSON, tornando-o mais robusto e fácil de usar.