Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » XML-Configfile lesen und Werte überschreiben.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
25.09.2006, 12:28 Uhr
~Sabine
Gast


Hallo Leute

Habe meine MFC-Applikation (C++) im VS 6.0 programmiert und möchte gernen ein XML Configfile anlegen in dem meine Parameter abgespeichert sind. (Habe bis jetzt ein ini-Textfile verwendet.)

Das Configfile habe ich mier so vorgestellt:

Code:

<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
    <GLOBAL>
        <LANGUAGE>1</LANGUAGE>
        <TIMEFORMAT>2</TIMEFORMAT>
    <GLOBAL>
    <DIALOG_TEST>
        <TITLE>System-Test</TITLE>
        <ERRORREPORT>1</ERRORREPORT>
    </DIALOG_TEST>
    <DIALOG_CONFIG>
        <TITLE>Einstellungen</TITLE>
        <ERRORREPORT>0</ERRORREPORT>
    </DIALOG_CONFIG>
    ...
</CONFIG>




Nun möchte ich einzelnen Werte aus dem File lesen aber auch einzelne Parameter verändern.

Kann mir jemand von euch sagen, wie ich das anstellen kann?
Habe etwas von MSXML, XercesC, libxml2, limbXML++, DOM oder SAX gehört aber ich komme nicht weiter. Hat jemand bereits Erfahrungen mit XML und kann mir etwas empfehlen?

Gruss Sabine

Dieser Post wurde am 25.09.2006 um 22:42 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.09.2006, 15:52 Uhr
xXx
Devil


Naja ... der Microsoft XML Parser ist schon gut ... allerdings seehr umfangreich ... d.h. nimm einfach TinyXML ... ist nen seehr kleines Projekt und für so nen Config-File vollkommen ausreichend ...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.09.2006, 16:30 Uhr
~Sabine
Gast


Danke 'xXx'. Werde TinyXML mal genauer anschauen.

Wie sieht es mit Sprachfils (so um die 1000 Einträge) im xml Format aus? Was könnt ihr mir da vorschlagen? Ist dafür TinyXML auch geeignet?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.09.2006, 17:23 Uhr
ao

(Operator)



Zitat von ~Sabine:
Wie sieht es mit Sprachfils (so um die 1000 Einträge) im xml Format aus? Was könnt ihr mir da vorschlagen? Ist dafür TinyXML auch geeignet?

Sieht so aus, ja. Es geht nicht um die Größe der XML-Files, sondern um die Kompliziertheit der Struktur.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.09.2006, 17:52 Uhr
~Sabine
Gast


Die Struktur ist in etwa so:

C++:
<?xml version="1.0" encoding="UTF-8"?>
<DE>
    <Hauptgruppe1>
        <Titel>Titel des Hauptmenüs</Titel>
        <Untertitel>Titel des Hauptmenüs</Untertitel>
        <Untergruppe1>
    <Text1>Text1</Text1>    
    <Text2>Text2</Text2>    
    ...
        </Untergruppe1>
        <Untergruppe2>
    <Text1>Text1</Text1>    
    <Text2>Text2</Text2>    
    ...
        </Untergruppe2>
        ...
    </Hauptgruppe1>

    <Hauptgruppe2>
        <Titel>Titel des Hauptmenüs</Titel>
        <Untertitel>Titel des Hauptmenüs</Untertitel>
        <Untergruppe1>
    <Text1>Text1</Text1>    
    <Text2>Text2</Text2>    
    ...
        </Untergruppe1>
        ...
    </Hauptgruppe2>
    ...
</DE>




Geht das? Oder ist die Struktur zu kompliziert?

Gruss Sabine
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
25.09.2006, 19:17 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Es geht nicht um die Größe...


Ich hatte mich bisher ja zurück gehalten aber danke für diesen Lacher. XXX antwortet als erster und ao faselt dann was von auf die Größe kommt es nicht an...

Ich platze gleich
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.09.2006, 22:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von ~Sabine:
Die Struktur ist in etwa so:
(...)

Geht das? Oder ist die Struktur zu kompliziert?

Gruss Sabine

Hi,
nein sollte nicht zu kompliziert sein - wichtig ist aber - eine XML-file hat nur ein Top-Level-Element. d.h


Code:
<DE>
...
</DE>
<EN>
...
</EN>




geht so direkt nicht. Warum nimmste nicht einen neutralen Tag, z.b


Code:
<languages>
  <lang name="de">
    ...
  </lang>
  <lang name="en">
    ...
  </lang>
</languages>



Ansonsten - wie ao schon sagt - die Größe ist nicht entscheidend - der Umfang/Komplexheit schon Aber so kleine Schemata sind auch mit TinyXML ohne Problem zu laden.
Wenns komplexer werden sollte und Tiny zu Lahm wird, nimm einfach libxml2 - das ist dann auch portabel und kommt auch mit großen und auch komplexen xmls klar.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.09.2006, 05:58 Uhr
Spacelord
Hoffnungsloser Fall


Nimmt man für große XML Files nicht Long Dong XML ?

*scnr*
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
26.09.2006, 08:40 Uhr
~Sabine
Gast


Danke für eure Hilfe. Werde nun mal TinyXML probieren.

@ FloSoft: Werde vermutlich für jede Sprache ein eigenes File machen.

gruss Sabine

ps: Super Forum !!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
27.09.2006, 08:53 Uhr
~Sabine
Gast


Hallo Leute, ich bins wieder einmal.

Habe TinyXml nun in mein Projekt eingebunden und es sogar (nach längerer Zeit) zum Laufen gebracht.

Da ich ein MFC - Projekt habe, musste ich in den TinyXml cpp Fils noch die Zeile

C++:
#include "stdafx.h"


einfügen.

Nun habe ich ein grundlegendes Problem. Kann mir jemand von euch Zeigen, wie ich den Wert aus [CONFIG]-[DIALOG_TEST]-[TITEL] also 'System-Test' lesen und als einen CString weiter verwenden kann? Und wie kann ich den selben Wert im XML-File mit einem anderen CString überschreiben?


Code:

<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
    <GLOBAL>
        <LANGUAGE>1</LANGUAGE>
        <TIMEFORMAT>2</TIMEFORMAT>
    <GLOBAL>
    <DIALOG_TEST>
        <TITLE>System-Test</TITLE>
        <ERRORREPORT>1</ERRORREPORT>
    </DIALOG_TEST>
    ...
</CONFIG>

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: