Voglio eseguire un programma c ++ per elaborare molti dati da diversi file xml e risultati di output. Eseguo il programma una volta per file e potenzialmente ho circa 50 file diversi.
Il problema è che ogni file xml ha una convenzione di denominazione diversa per i nodi, ad esempio:
A.xml
<entry>
<id><![CDATA[9]]></id>
<description><![CDATA[Dolce 27 Speed]]></description>
</entry>
B.xml
<item>
<uuiid><![CDATA[9]]></uuid>
<content><![CDATA[Dolce 27 Speed]]></content>
</item>
Qual è il modo appropriato per definire questi mapping, quindi quando eseguo il programma il software sa quali dati sono in quali tag, quindi posso memorizzare l'id, la descrizione ecc., indipendentemente da quali siano i tag di input.
Le idee che ho finora sono:
A) Avvia il programma con flag (nel programma reale ci saranno 10 mappature, quindi potresti diventare caotico), I.e ./main --id uuid --description content
B) Inseriscili in una mappa e fai riferimento a ciò all'avvio (qualsiasi suggerimento su come fare la mappa sarebbe ottimo), I.e/main --map example1
C) Nessuno dei precedenti