Esegui un programma c ++ in molte mappe dati diverse

1

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

    
posta Jimmy 19.04.2015 - 09:43
fonte

1 risposta

2

Penserei che la cosa migliore da fare sarebbe utilizzare uno strumento come Xalan o Xtrans o qualsiasi altro processore XSLT per implementare un passaggio di trasformazione XML intermedio, in modo che il software debba conoscere solo una convenzione di denominazione.

La capacità di eseguire tali trasformazioni è uno dei principali motivi per cui XML è stato inventato in primo luogo.

    
risposta data 20.04.2015 - 12:00
fonte

Leggi altre domande sui tag