XML-File mit fstream/ofstream erstellen
-
Hallo
ich würde gern ein XML-File mit fstream/ofstream erstellen das ungefähr so aussieht.
<?xml version="1.0" encoding="UTF-8" ?> - <Personen> - <Person> <Person1 Vorname="Max" Nachname="Mustermann" /> <Person2 Vorname="Claudia" Nachname="Musterfrau" /> <Person3 Vorname="David" Nachname="Mustermann" /> </Person> </Personen>Das hab ich auch schon hin bekommen aber leider hab ich es nicht geschafft die Attribute "Vorname" und "Nachname" mit variablen zu verknüpfen.
Hier mal noch mein Code...ofstream out; out.open("foo.xml"); out<<"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" <<endl <<"<Personen>"<<endl <<"<Person>"<<endl <<"<Person1 Vorname=\"Max\" Nachname=\"Mustermann\">\n</Person1>" <<"<Person2 Vorname=\"Claudia\" Nachname=\"Musterfrau\" >\n</Person2>" <<"<Person3 Vorname=\"David\" Nachname=\"Mustermann\" >\n</Person3>" <<"</Person>"<<endl <<"</Personen>"<<endl; out.close();Ich hab schon auf viele Arten versucht die Attribute mit Variablen zu verknüpfen hab es aber nicht geschafft.

Könnt ihr mir dabei bitte helfen????
-
Ganz einfach: Du erstellst eine Klasse Person, die die einzelnen Variablen als Membervariablen enthält.
Anschließend überlädst du denoperator<<so, dass er dir bspw. ein XML-Tag in den Stream schiebt, und denoperator>>vice versa.Allerdings denke ich, dass du weder C++ noch XML wirklich verstanden hast (zumal du drei verschiedene Tags Person1, Person2 und Person3 verwendest).
Sicher, dass du XML brauchst? Es geht auch einfacher, sowas zu serialisieren.
-
Danke schon mal für die Hilfe

Ich weiß, dass es einfacher geht ein XML zu erstellen aber mir wurde vorgeschrieben des so zu machen.
Das XML das ich hier gepostet hab ist nur ein Beispiel bei dem ich die Namen der Tags abgeändert habe.Gibt es da noch eine einfachere Methode mit den Attributen??
Danke schon im voraus

-
-
Weil ich die Vorgabe hab das mit den Streams zu machen.
-
abcABC schrieb:
Weil ich die Vorgabe hab das mit den Streams zu machen.
Hoffentlich nur eine Schulaufgabe...
-
Nö, dafür ists zu schwer.
Ich schließe mich Sone an. Keine Ahnung von C++ oder XML.
-
Hab selber eine ganz einfache Lösung gefunden.
out<<"<Person Name="<<char(34)<<name1<<char(34)<<"/>"<<endlDanke für eure Beiträge

-
std::string str("Hallo Welt"); cout << "Hallo, ich bin eine String: \"" << str << "\"" << std::endl;Das war das was du suchtest?
-
Ja so in der Art

Danke

-
Da kommt dasselbe raus wie bei deinem letzten Codesnippet, aber danach hast du nie gefragt. Troll?