Seite 1 von 1

Qt und XML

Verfasst: 6. Februar 2009 19:14
von rafilis1982
Hallo zusammen,

ich habe ein paar Fragen und hoffe das mir da jmd. weiterhelfen kann:

1. Wie kann ich die Anführungszeichen aus einem QString am schnellsten entfernen?

2. Ich habe mir mit Qt einen XMl-Parser gebastelt. Die Startmethode hat folgende Form

Code: Alles auswählen

read(QXmlInputSource *source, QXmlReader *reader)
{
if(!domDocument.setContent(source,reader,&errorStr,&errorLine,&errorColumn))
	{
		QMessageBox::information(
			window(),tr("DOM Failure"),
			tr("Failure in Line %1, Column %2:\n%3")
			.arg(errorLine).arg(errorColumn).arg(errorStr));
		return false;
	}
QDomElement root = domDocument.documentElement();
...
}
Danach parse ich die gesamte Datei und speicher die Knoten zudem in einem QTreeWidget. Die Methode dazu sieht wie folgt aus:

Code: Alles auswählen

createItem(const QDomElement &e, QTreeWidgetItem *parentItem)
{
QTreeWidgetItem *item;

	if (parentItem)
	{
		item = new QTreeWidgetItem(parentItem); 
	}
	else 
	{
		item = new QTreeWidgetItem(this);
	}
	
	if(e.hasAttributes())
	{
		QDomNamedNodeMap tmp = e.attributes();
		for(int i = 0; i < tmp.count(); i++)
      }

}
Funktioniert soweit auch ganz gut. Nur bei folgenden Knotentyp gibt er mir komischerweise immer nur das letzte Attribut, in dem Beispiel attributeFormDefault="unqualified", zurück:

Code: Alles auswählen

<xs:schema xmlns="http://www.citygml.org/citygml/profiles/base/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.citygml.org/citygml/profiles/base/1.0" elementFormDefault="qualified"
    attributeFormDefault="unqualified">

Woran kann das liegen?