[c++] Serialization naar XML

Pagina: 1
Acties:

  • MisterData
  • Registratie: September 2001
  • Laatst online: 16:16
Voor een programma, dat tot nu toe z'n gegevens binair wegschreef door gewoon structs weg te schrijven, ben ik op zoek naar een manier om naar XML te serializen. Op mijn zoektocht kwam ik onder andere XiMoL tegen (http://ximol.sf.net). Op het eerste gezicht ziet dat er simpel en handig uit, maar ik krijg het niet voor elkaar het gebuild te krijgen. Daarnaast zit het blijkbaar dermate complex in elkaar dat er allerlei boost-libraries en andere zut nodig is om het werkend te krijgen. Ik moet eerst m'n hele build-environment gaan liggen omspitten voordat ik het gebuild krijg, en die tijd had ik graag aan andere dingen besteed. Jammer, want als de ontwikkelaars me een dll, lib en een zooi headers hadden gegeven was het sneller gegaan.

Een andere optie was om direct SAX/DOM te gebruiken. MSXML zou voor de hand liggen, maar daar kan ik weinig tutorials over vinden. Verder heb ik wel eens Xerces gebruikt (van Apache), maar dat was een DLL van ik meen 2 MB waarvan ik misschien eentiende gebruikte. Dat is voor mijn applicatie een beetje te log.

Wat gebruiken jullie voor serializen vanuit C++ (liefst naar XML?) :)


Oh, misschien ook nuttig: in eerste instantie gaat het dus om een applicatie op Windows (Win32), maar misschien later nog andere platforms.

[ Voor 7% gewijzigd door MisterData op 20-06-2005 23:00 ]


  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 01-02 20:46

dawuss

gadgeteer

MisterData schreef op maandag 20 juni 2005 @ 22:51:
Jammer, want als de ontwikkelaars me een dll, lib en een zooi headers hadden gegeven was het sneller gegaan.
Tsja, maar dan was je niet cross-platform bezig geweest he :) Zo vreemd is deze manier van libraries aanbieden helemaal niet.

Overigens zijn er ook licensing issues om even te overwegen als je dit gaat gebruiken, want je mag voor zover ik weet niet zo maar GPL code in je closed-source programma opnemen (linken). Ik weet alleen niet precies hoe de Gnu lesser public license werkt, dus dat zou je even na moeten zoeken.

Misschien is het handig als je even aangeeft om wat voor applicatie het precies gaat?

[ Voor 7% gewijzigd door dawuss op 20-06-2005 23:02 ]

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©


  • MisterData
  • Registratie: September 2001
  • Laatst online: 16:16
dawuss schreef op maandag 20 juni 2005 @ 23:02:
[...]

Tsja, maar dan was je niet cross-platform bezig geweest he :) Zo vreemd is deze manier van libraries aanbieden helemaal niet.

Overigens zijn er ook licensing issues om even te overwegen als je dit gaat gebruiken, want je mag voor zover ik weet niet zo maar GPL code in je closed-source programma opnemen (linken). Ik weet alleen niet precies hoe de Gnu lesser public license werkt, dus dat zou je even na moeten zoeken.

Misschien is het handig als je even aangeeft om wat voor applicatie het precies gaat?
Voorzover ik weet is dynamic linken van LGPL-libs geen enkel probleem, en heeft het geen consequenties voor je eigen applicatie. Zeker weten doe ik het niet, maar echt belangrijk is dat op dit punt nog niet. Het is tenslotte maar een hobby-applicatie van me. Het is een programma dat bestaat uit een tijdbalk met daarop 'Presets' die gegevens bevatten over vormen, zoals een bezier, vierkant, etc, geen ingewikkelde data dus met cyclische pointers en weet ik het allemaal. Tot nu toe werd het gewoon weggeschreven door data te plaatsen in een struct en die weg te schrijven, maar dat vind ik niet echt netjes, want als ik een veld toevoegde aan de Preset-struct (/class), dan had ik alweer een nieuw bestandsformaat :o

Overigens vind ik het geen probleem dat een dergelijke library als source wordt geleverd, maar dan wel graag met een build-systeem dat werkt (en zo'n afwijkende configuratie heb ik niet; gewoon x86 met daarop MS VC++ .NET 2003 en VC 8 (Express) Beta 2... als ik met VC8 laat compilen krijg ik allerlei meldingen over dat __thiscall een reserved keyword is en andere dingen, dus de code is daar blijkbaar niet geschikt voor.

(Wat onofficiële LGPL-info trouwens: http://teem.sourceforge.net/lgpl.html)

[ Voor 19% gewijzigd door MisterData op 20-06-2005 23:23 ]


  • MrBucket
  • Registratie: Juli 2003
  • Laatst online: 29-10-2022
Misschien is TinyXml iets voor TS? Niet teveel toeters en bellen, 6 sourcefiles in je project hangen en je bent klaar. Ik vind het, zeker voor kleinere projecten, ideaal.

http://www.grinninglizard.com/tinyxml/

  • MisterData
  • Registratie: September 2001
  • Laatst online: 16:16
Dat ziet er zeker interessant uit! Ik ga er vanmiddag eens naar kijken :)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Tot nu toe ben ik altijd geslaagd met printf. Lowtech, maar je code het in secondes en het levert (met creatief gebruik van whitespace) best leesbare code op.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Eelis
  • Registratie: Januari 2003
  • Laatst online: 21-02-2015
.

[ Voor 99% gewijzigd door Eelis op 18-02-2015 19:04 ]

Pagina: 1