Seite 1 von 1

Speichern von zwei QString bzw. QString / XML inkl Suche...

Verfasst: 20. September 2011 15:03
von shinji
Hallo!

Ich habe viele XML-Daten, die in etwa so aussehen:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<Data>
  <Version>1.1</Version>
  <Id>CCBBAABBAABBAABBAABBAABBAABBAABB</Id>
  <Request>
    [...] XML-Elemente [...]
  </Request>
</Data>
Diese muss ich jetzt speichern und später anhand des <Id> Elementes wieder finden können. Jetzt frage ich mich, wie speicher ich die Daten am besten temporär zwischen? Macht man für so etwas ein XmlDocument und padded alle neuen Daten ans Ende und löscht diese dann irgendwie wieder? Oder eine Art zweidimensionales Array, wobei ich in das erste Element dann die Id einzeln speicher und in das zweite Element die XML-Daten? Oder... ja, wie macht man so etwas sinnvoll bei Qt4? Ich muss halt später nach der ID suchen können und das XML zurück geliefert bekommen. Natürlich sollte ein "Löschen nach ID" möglich sein. Gibt es so etwas mit Suchfunktion? Also mit einer Art "findNext(ID)"...

Re: Speichern von zwei QString bzw. QString / XML inkl Suche

Verfasst: 23. September 2011 11:40
von shinji
Hallo!

Habe das ganze jetzt mit einer QHash gelöst. Allerdings habe ich jetzt das Problem, dass die QHash die eingetragenen Werte automatisch anhand des Keys sortiert. Denn ich bräuchte noch eine Art "getLastInserted()" Methode die mir das zuletzt eingefügte Element liefert.

Re: Speichern von zwei QString bzw. QString / XML inkl Suche

Verfasst: 23. September 2011 17:00
von Christian81
Wenn die Reihenfolge wichtig ist dann ist nur QVector oder QList bzw. deren STL-pendants möglich.

Re: Speichern von zwei QString bzw. QString / XML inkl Suche

Verfasst: 24. September 2011 21:14
von shinji
Hallo!

Ja, aber dann kann ich nicht nach einem Key (Inhalt von <id></id>) suchen. Das ist halt auch wichtig.
Hmmmm... ich werde wohl eine QHashIterator Variable als Member der Klasse definieren und dann in diese den letzten geschriebenen Iterator speichern. Mal gucken ob ich das hinbekomme. Bei meinem Versuch eben habe ich nur Speicherzugriffsfehler bekommen :(

Re: Speichern von zwei QString bzw. QString / XML inkl Suche

Verfasst: 29. September 2011 17:25
von ceumern
reicht nicht eine QMap mit der ID als key und dem rest als value?

Re: Speichern von zwei QString bzw. QString / XML inkl Suche

Verfasst: 29. September 2011 21:32
von shinji
Ich habe es jetzt mit einer QHash gelöst. Sollte funktionieren... mal gucken...