PDA

View Full Version : [C]Mettere una serie di righe di un file testuale in una stringa, senza spazi


Tubo Catodico
24-01-2009, 11:26
Ho la necessità di leggere un semplice file xml, prendere le righe presenti (indentate) e concatenarle dentro una stringa, togliendo gli spazi, di questa stringa viene poi successivamente fatto il parsing (cosa già fatta). Tanto per esempio questo:

<ParameterValues xmlns="urn:axmedis:01">
<ParameterValue>4</ParameterValue>
<ParameterValue>ae34</ParameterValue>
</ParameterValues>

diventa questo:

<ParameterValues xmlns="urn:axmedis:01"><ParameterValue>4</ParameterValue><ParameterValue>ae34</ParameterValue></ParameterValues>

Grazie mille in anticipo! ;)

fero86
24-01-2009, 12:35
togliere gli spazi e le andature a capo non costituisce il minimo problema: leggi il file un byte alla volta e se il byte corrisponde allo spazio o a '\n' o '\r' allora eviti di aggiungerlo nella stringa. é il parsing fatto a mano in C che é un suicidio :D
se lavori su Windows avresti potuto fare molto piu semplicemente utilizzando l'implementazione API del DOM:
http://msdn.microsoft.com/en-us/library/ms766487(VS.85).aspx
e volendo avresti potuto fare tutto in C (anche se sarebbe stato meglio in C++).

DanieleC88
24-01-2009, 13:46
Se dici che il parsing è cosa già fatta allora non hai che da fare come ti suggerisce fero86, magari con una funzione ausiliaria che ridimensiona il buffer a seconda della necessità. :)

Tubo Catodico
24-01-2009, 15:14
Grazie, a buon rendere! ;)