PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : schlanker XML-Parser C++


Godmode
2008-05-28, 12:55:08
Ich suche einen schlanken XML-Parser für C++. Ich arbeite momentan mit Configfiles die als normale Textfiles vorliegen, aber das kannst vergessen wenn die Dinger komplexer werden, bzw ist die Validierung scheisse. Könnt ihr mir einen guten XML-Parser raten, der dafür geeignet ist, bzw. gibt es eine noch einfachere Möglichkeit? Ich arbeite normalerweise mit .net und bin da eben diese netten Sachen wie app.config bzw Settings.settings gewohnt.

Gast
2008-05-28, 13:34:59
Falls du nur einen Ersatz für deine Configfiles suchst, aber nicht auf XML angewiesen bist, kann ich JSON als Format empfehlen. Ist meiner Meinung nach leichter zu lesen und handhaben. Da findest du auch unter www.JSON.org mehrere Implementierungen.

Godmode
2008-05-28, 13:44:28
Falls du nur einen Ersatz für deine Configfiles suchst, aber nicht auf XML angewiesen bist, kann ich JSON als Format empfehlen. Ist meiner Meinung nach leichter zu lesen und handhaben. Da findest du auch unter www.JSON.org mehrere Implementierungen.

Naja ich wollte halt testen ob die Datei valide ist, aber danke für den Tip, ich schau mir mal JSON an.

Gast
2008-05-28, 14:00:19
Haut mich, aber ich mag MSXML. :)

RMC
2008-05-28, 14:14:37
TinyXML

Godmode
2008-05-28, 14:22:48
TinyXML

Das hab ich vorher auch schon gefunden, ich denke das nehm ich. Danke!

maximAL
2008-05-28, 15:36:14
Das hab ich vorher auch schon gefunden, ich denke das nehm ich. Danke!
validierung kann das teil aber nicht. und leider können das wohl auch die meissten anderen parser nicht.

ScottManDeath
2008-05-28, 16:47:36
Ich serialisiere mit boost meine (Konfigurations) Klassen z.B. als XML Dateien.

Gauß
2008-05-28, 18:22:05
"Schlank" und "XML" in einem Satz geht schon einmal grundsätzlich nicht.

Wenn ich ne Doktorarbeit schreiben müsste, dann würde die um den Beweis der Unsinnigkeit von Auszeichnungssprachen handeln.

Bietchiebatchie
2008-05-28, 18:51:01
"Schlank" und "XML" in einem Satz geht schon einmal grundsätzlich nicht.

Kommt drauf an, was man unter "schlank" verstehst; wenn man damit nur die Größe des Speicherbedarfs bezeichnet, dann sicher nicht, falls man jedoch damit "schlanken" (=weniger) Code oder klare, interoperable Interfaces bezeichnet, welche aus der Nutzung von xml resultieren: auf jeden!

Wenn ich ne Doktorarbeit schreiben müsste, dann würde die um den Beweis der Unsinnigkeit von Auszeichnungssprachen handeln.

Das meinst du doch jetzt nich ernst oder? Die "Xml-lisierung" finde ich einer der sinnvollsten Entwicklungen der letzten Jahren, die sich durchgesetzt haben... klar man kann alles übertreiben, aber grundsätzlich 100% pro.

Neocroth
2008-05-28, 19:54:24
ich arbeite momentan an einem Projekt, wo der Fokus auf Interoperabilität liegt und der Benutzer nicht mit der Installation von unnötiger Software konfrontiert werden muss. Wir benutzen hierbei MSXML (hat so ziemlich jedes Windows-System eh schon installiert, ich denke, der kommt sogar per Windows Update), nach vergleichsweise kurzer Einarbeitungszeit funktioniert alles rund - ich kann ihn also nur empfehlen, alleine schon deshalb, weil es gute Codebeispiele im Netz gibt (ich glaube, ich hab dieses hier zum Nachvollziehen verwendet http://www.endurasoft.com/vcd/msxml1.htm)

Viel Glück noch beim Programmieren :)

Gauß
2008-05-28, 20:34:23
Kommt drauf an, was man unter "schlank" verstehst; wenn man damit nur die Größe des Speicherbedarfs bezeichnet, dann sicher nicht, falls man jedoch damit "schlanken" (=weniger) Code oder klare, interoperable Interfaces bezeichnet, welche aus der Nutzung von xml resultieren: auf jeden!Jeder der sich Softwareentwickler nennen darf, kann schlankeren Code zu jeder Art von Datenschnittstelle schreiben, als es mithilfe irgend einer Auszeichnungssprache wie XML möglich sein kann.
Denn Auszeichnungssprachen sind per Definition ein Mehraufwand für Datenschnittstellen.

Ironischerweise wird dieser Mehraufwand damit gerechtfertigt, dass Fähigkeitsdefizite und Dokumentationsungenauigkeiten bei der Schnittstellenentwicklung möglich sein sollen, was aber selbstverständlich grundsätzlich noch mehr Probleme schafft (siehe Browserchaos).

Das meinst du doch jetzt nich ernst oder? Die "Xml-lisierung" finde ich einer der sinnvollsten Entwicklungen der letzten Jahren, die sich durchgesetzt haben... klar man kann alles übertreiben, aber grundsätzlich 100% pro.Dieser ganze Schwachsinn, mit HTML angefangen, ist eine der kostspieligsten technologischen Fehlentwicklungen der Menschheitsgeschichte.

Ectoplasma
2008-05-29, 08:18:07
Dieser ganze Schwachsinn, mit HTML angefangen, ist eine der kostspieligsten technologischen Fehlentwicklungen der Menschheitsgeschichte.

Kann ich zum Teil nachvollziehen. Aber was ist mit dem Argument der human readability? Bei rein technischen Schnittstellen halte ich XML allerdings auch für überflüssig.

ESAD
2008-05-29, 08:40:45
je größer und aufgeblasener das wird desto weniger human readability hat man. oder will mir wer sagen, dass er ODF lesen kann und dann auch versteht wie die formatierung ausschaut, etc.

Shink
2008-05-29, 09:07:54
Da es Dinge wie automatische GUI-Erzeugung für Editieren von XML-Konfigurationsdateien (wenn man ein Schema definiert) oder XSLT gibt würd ich nicht wirklich sagen XML ist fürn A*.
Eine individuelle Schnittstelle mag effizienter sein (Speicherbedarf, Performance - obwohl ich keine Plattform kenne die zu langsam ist um XML zu parsen und da red ich jetzt durchaus vom Embedded-Bereich) aber Wiederverwendbarkeit, Wiedererkennungswert und dass man sich nicht selbst um Dinge wie Encoding oder Valididierung kümmern braucht und niemandem eine textliche Schnittstellenbeschreibung geben muss spricht doch sehr für XML imo. Nicht umsonst werden sehr viele Formate auf XML-basierte umgestellt.

Man könnte genauso argumentieren Programming Patterns machen Programme langsamer, größer und umfangreicher. Stimmt wahrscheinlich sogar. Ist aber trotzdem in 99% der Fälle kein Argument sie nicht zu verwenden.

Ganon
2008-05-29, 12:49:06
Man könnte genauso argumentieren Programming Patterns machen Programme langsamer, größer und umfangreicher. Stimmt wahrscheinlich sogar. Ist aber trotzdem in 99% der Fälle kein Argument sie nicht zu verwenden.

Wenn's danach geht, dürften wir nicht mal ne Hochsprache nutzen ;)

Shink
2008-05-29, 13:18:46
Genau das mein ich damit.