Seite 1 von 1

QDomNodeList aufbauen

Verfasst: 29. März 2012 15:12
von CarstenQt
Hallo,
ich möchte eine View auf eine XML-Datei erstellen. Diese soll aus unterschiedlichen Ästen zusammengestellt sein. Ich bin mir aber nicht sicher, ob sich das mit einer QDomNodeList realisieren lässt. Wenn ich es richtig verstanden habe ist diese sozusagen ein Liveview auf das XML-Dokument und kann nicht unabhängig von diesem verändert werden. Es gibt ja auch keine Methoden wie append zu QDomNodeList.

Die Idee war folgende:
QDomNodeList QXmlDomReader::GetElementsByTagName(
const QDomElemList& StartElemList, const wstring& Name) const
{
QDomNodeList Result;
uint ResultIndex = 0;

foreach(QDomElement StartElement, StartElemList)
{
QDomNodeList NodeList = GetElementsByTagName(StartElement, Name);
uint Count = NodeList.length();

for (uint Index = 0; Index < Count; ++Index)
{
QDomNode Node = NodeList.item(Index);
Result.item(ResultIndex) = Node;
++ResultIndex;
}
}

return Result;
}

Result ist immer 0.

Frage: Gibt es eine Möglichkeit sich eine QDomNodeList zusammenzustellen oder bin ich da auf dem Holzweg?

Danke.

Re: QDomNodeList aufbauen

Verfasst: 3. April 2012 11:09
von CarstenQt
Hi,
ich habe mich jetzt für folgende Lösung entschieden:

h:
public:
typedef QList<QDomElement> QDomElemList;

QXmlDomReader::QDomElemList QXmlDomReader::GetElementsByTagName(
const QDomElemList& StartElemList, const wstring& Name);

Über QDomElemList komme ich über die QDomElemente an die Knoten die ich gesammelt habe.