XML Files erstellen

Alles rund um die Programmierung mit Qt
Antworten
Rainer
Beiträge: 17
Registriert: 5. Oktober 2007 12:12

XML Files erstellen

Beitrag von Rainer »

Hallo,
ich programmiere erst seit kurzem mit Qt und hab jetzt folgendes Problem.
Ich möchte ein XML File erstellen das wie folgt aussieht:
<Werte>
<Wertepaar>
<X>30</X>
<Y>40</Y>
</Wertepaar>
<Wertepaar>
<X>80</X>
<Y>100</Y>
</Wertepaar>
</Werte>

Das XML File selber kann ich schon erstellen, ich kann auch die Tags für Werte und für das erste Wertepaar + X,Y und die Werte selber einfügen.
Nur wenn ich dann ein zweites, drittes, .. Paar einfügen möchte weiß ich nicht mehr weiter. Ich möchte das dies automatisch geht und ich nicht für jedes Wertepaar ein neues QDomElement anlegen muss.
Könnt ihr mir helfen??
mfg
rainer

danke
webmaster1987
Beiträge: 73
Registriert: 2. September 2006 18:30
Wohnort: Köln
Kontaktdaten:

Beitrag von webmaster1987 »

ich würde vorschlagen du postest ein bisschen von deinem code dann kann man sehen was verbessert werden könnte.

ansonsten würde ich eine eigene Funktion vorschlagen z.b.:
(habs hier mal nur mit Atributen gemacht)

bool add( QDomDocument &doc, int x, int y ) {
QDomElement tag = doc.createElement("Wertepaar");
tag.setAttribute("x", x);
tag.setAttribute("y", y);
}
DOUBLE ist wie FLOAT nur in HD
dust2
Beiträge: 22
Registriert: 7. Juni 2007 16:16

Beitrag von dust2 »

Es ist nicht immer notwendig, extra einen DOM zu bauen, nur weil man XML erzeugen will. Oft hat man ja nur ein paar Werte in lienearer Reihenfolge vorliegen, die man in eine XML-Struktur packen will, dann TROLLTECH-XML-Writter-Klasse benutzen, die schreibt einfach einen Textstream raus der wie XML aussieht:

http://doc.trolltech.com/qq/qq05-generating-xml.html

Das Sample kannst Du so übernehmen, ich hatte im Konstruktur nur was an der UTF-Codierung ändern müssen (setCodec) bei Bedarf schick ichs dir

Daniel
Rainer
Beiträge: 17
Registriert: 5. Oktober 2007 12:12

Beitrag von Rainer »

danke für eure antworten,
ich hab mein problem aber jetzt so gelöst, dass ich mir eine eigene Funktion gemacht hab wie z.B.:

Code: Alles auswählen

QDomElement MainWindow::add_ykoor(QDomDocument &d)
{
	QDomElement cn = d.createElement("Y-Koor");
	return cn;
}
Diese Funktion ruf ich dann öfter auf und füg sie so öfter in mein XML File ein
Antworten