c ++ scrive il proprio parser xml vs usando tinyxml

2

Attualmente sono impegnato in un'attività per generare un file XML per un file di testo srt contenente timestamp e testo corrispondente. Per generare un file exe che accetta l'input del nome file e restituisce il file XML pertinente da utilizzare come parte di uno script automatico.

È consigliabile usare Tinyxml per questo?

Modifica:

i tuoi commenti riguardo a questo sono molto apprezzati qual è il modo più semplice per generare xml in c ++?

    
posta Aditya P 14.03.2011 - 06:28
fonte

3 risposte

7

Generare un file XML è un'attività diversa per consumare un file XML. Se stai solo generando un file XML in un formato specifico con input abbastanza semplici, non è troppo lavoro solo per fare qualcosa del tipo:

mystream << "<xmldata>" << endl;
mystream << "<something>Blah</something>" << endl;
mystream << "</xmldata>" << endl;

Probabilmente sarà molto più semplice della creazione di un modello di oggetti TinyXML, popolandolo e poi scrivendolo.

L'unica cosa di cui ti devi preoccupare è la corretta escaping (cioè "&" in "& amp;", "<" in "& lt;" e così via).

Ora, se tu fossi analizzando un file XML, ti consiglio di utilizzare una libreria di terze parti (e TinyXML è una buona soluzione se non hai bisogno della convalida XSLT o dello schema, ecc. ).

    
risposta data 14.03.2011 - 07:04
fonte
5

Non vedo alcun motivo per reinventare la ruota quando puoi semplicemente usare una libreria.

Le poche prestazioni che aumentano il guadagno potrebbe scrivendo il tuo codice di analisi personale non sono nulla in confronto al sovraccarico di rolling your own vs. l'uso di una libreria.

Ad ogni modo, ciò che descrivi non è l'analisi. Sta generando un file XML. A quel punto, l'utilizzo di una libreria XML potrebbe essere eccessivo.

    
risposta data 14.03.2011 - 07:03
fonte
2

Puoi anche utilizzare questa libreria xml .

Per rispondere alla tua domanda: non perdere tempo con qualcosa che è già stato fatto e funziona bene.

    
risposta data 14.03.2011 - 10:29
fonte

Leggi altre domande sui tag