QDomAttr und xmlns:xsi

Alles rund um die Programmierung mit Qt
Antworten
rafilis1982
Beiträge: 34
Registriert: 6. Juni 2008 14:44

QDomAttr und xmlns:xsi

Beitrag von rafilis1982 »

Hallo zusammen,

ich habe folgenden XMl Header gegeben:

Code: Alles auswählen

<CityModel xmlns="http://www.ikg.uni-bonn.de/sig3d/pilot3d"
version="1.1.0"
xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="D:/CityGML.xsd"
Nun versuche ich mit QT und DOM diesen Header auszulesen. Dazu habe ich ein QDomElement e:

Code: Alles auswählen

if(e.hasAttributes())
	{
		QDomNamedNodeMap tmp = e.attributes();
		for(int i = 0; i < tmp.length(); i++)
		{
			QDomAttr a = tmp.item(i).toAttr();
                       ....               
                 }
         }



Lasse ich mir das jetzt ausgeben so erscheint folgendes:

Code: Alles auswählen

CityModel xmlns="http://www.ikg.uni-bonn.de/sig3d/pilot3d"
schemaLocation="D:/CityGML.xsd"
version="1.1.0"
Also zum einen ist die Reihenfolge vertauscht und zum anderen fehlen die Attribute mit xmlns Präfix. Lösche ich diesen Präfix werden auch diese Elemente mit ausgeben, jedoch ist auch da die Reihenfolge vertauscht.

Warum ist dem so?
rafilis1982
Beiträge: 34
Registriert: 6. Juni 2008 14:44

Beitrag von rafilis1982 »

Ok, das Problem mit dem Präfix habe ich gerade selbst gelöst, aber ich versteh immer noch nicht warum die Reihenfolge vertauscht wird bei der Ausgabe?

Hat da jmd eine Idee zu?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Es gibt meines Wissens keine Verpflichtung die Reihenfolge der Attribute einzuhalten, da dies eigentlich auch nicht relevant sein sollte.
Antworten