Xml_Deserialisieren



  • hallo,

    wenn ich mehrere serialisierte objekte in einer datei stehen habe, wie bekomme ich dann alle bzw. ein gewünschtes heraus?

    void ProjectFile::deserializeObject(String ^file){
    
    	XmlSerializer ^serializer = gcnew XmlSerializer(OrderedItem::typeid);
    
    	XmlTextReader ^reader = gcnew XmlTextReader(file);
    
    	OrderedItem ^i = (OrderedItem^)serializer->Deserialize(reader);
    
    	reader->Close();
    	MessageBox::Show(i->Description,i->ItemName);
    
    }
    

    diese variante funktioniert nur so lange ich ein einziges objekt serialisiert habe, ansonsten kann er nicht problemlos deserialisieren.



  • Dann musst Du eben Dein Objekt in eine Collection reinpacken...

    public ref class OrderedItemList : System::Collections::Generic::List<OrderedItem^> {};
    

    Und jetzt musst Du das "OrderedItemList" serialiesieren...



  • wenn ich dann ein objekt von deiner klasse erzeuge kann ich über -> auf nichtrs zugreifen, warum?

    OrderedItemList ^list=gcnew OrderedItemList();
    list->?????????
    


  • Es wäre mehr als Sinvoll auch mal Fehlermeldungen zu Posten. Ab und an ist ein Blick in die Hilfe bzw. MSDN auch hilfreich.

    Meine Kristallkugel bleibt dunkel.

    OrderedItemList ^ list = gcnew OrderedItemList;
    	int i = list->Count;
    

    Funktioniert ohne Probleme.

    Ratenderweise willst Du auf ein Element innerhalb der Liste zugreifen.

    Benutze hierfür den op[]



  • // Mein Fehler....


Anmelden zum Antworten