ciao .
Ho il seguente xml:
nella classe che ho generato per fare il parsing dell xml ho:codice:<IfcRelAssociatesMaterial id="i1774"> <GlobalId>3lRy_2mo55tArzbWSDKKKD</GlobalId> <OwnerHistory> <IfcOwnerHistory xsi:nil="true" ref="i1568"/> </OwnerHistory> <RelatedObjects ex:cType="set"> <IfcWallStandardCase pos="0" xsi:nil="true" ref="i1705"/> </RelatedObjects> <RelatingMaterial> <IfcMaterialLayerSetUsage xsi:nil="true" ref="i1695"/> </RelatingMaterial> </IfcRelAssociatesMaterial>
nell xml ci sono queste definizioni , tutte sotto il nodo root e mi trovo ad avere un array di myclass con tutte le associazioni wall/materiale.codice:class myclass { IfcWallStandardCase * pWall CIfcMaterialLayerSetUsage* pMaterial }
ora, dopo l'importazione e il parsing dell xml devo utilizzare queste classi , sapendo l'id del materiale(pWall->m_id) che č comune a tutte le classi CIfcWallStandardCase , e andando a prendere il pMaterial della classe CIfcMaterialLayerSetUsage relativo.
In ogni myclass avro solo un materiale e solo un wall.
Non mi posso basare sul fatto di avere prima il wall e dopo il materiale, l'ordine č ininfluente.
Pensavo ad una mappa per andare a prendere il materiale dall' id del muro ma posso anche scorrere tutta la collezione delle classi myclass per trovare l'id del wall uguale tra quello che cerco e quello che č nella classe e dove č uguale andare a prendere il materiale relativo, č molto piu' lento?
sapendo che potro avere al massimo 1000 elementi.
voi cosa mi consigliate?
Grazie.

Rispondi quotando