Laden...

DataSet mit Image in .xml speichern

Erstellt von Kabaal vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.213 Views
K
Kabaal Themenstarter:in
64 Beiträge seit 2004
vor 19 Jahren
DataSet mit Image in .xml speichern

Hallöchen.

Heute hab ich mal wieder n richtig tolles Prob:

Ich hab hier n DataSet, welches ein Image enthält. Wenn ich das Set mit "WriteXml" speichere enthält das .xml- File merkwürdigerweise das Image nicht.
Logischerweise ist das Set nach "ReadXml" dann auch leer, obwohl die Datei eigendlich das Image enthalten sollte.

tja und nu ?!?

F
124 Beiträge seit 2004
vor 19 Jahren

zeig mal code?
vielleicht könnte man irgendwo ein [serializable] anfügen ?

C
61 Beiträge seit 2004
vor 19 Jahren

Vielleicht hilft dir das hier!

K
Kabaal Themenstarter:in
64 Beiträge seit 2004
vor 19 Jahren

using System;
using System.Data;
using System.Drawing;

namespace Test {
	
	public class SetMitBild : DataSet {
		public Image bild;
		
		public SetMitBild() {
			//hier steht nix
		}
	}
}

Im Hauptprogramm sollte das dann ungefähr so aussehen:


...
SetMitBild testset = new SetMitBild();
testset.bild = Image.FromFile("Bild.mpg");
testset.WriteXml("Test.xml");
...

Schaut man sich die "Test.xml"- Datei an, stellt man fest, dass sie leer ist.
Ich hab irgendwie das Gefühl, ich müsste das Image mehr an das Set binden, aber wie?

@cYaONE: Habs mir mal angeschaut, scheint auch zu funzen. Ich dachte nur vielleicht kann man das auch übersichtlicher lösen.

K
Kabaal Themenstarter:in
64 Beiträge seit 2004
vor 19 Jahren

Heureka!!!

Also habs mal mitm XmlSerializer probiert. Der hat dann allerdings zur Laufzeit ne Ausnahme "Kann Ojekt nicht Reflektieren" geschmissen.
In der .NET Docu bin ich dann aber auf einen Verweis auf den BinaryFormatter gestoßen. Mit dem Klappts dann prima. Allerdings wird dann nur ne Binärdatei anstatt einer xml- Datei in den Stream geschrieben (aber damint kann ich leben)

333 Beiträge seit 2004
vor 19 Jahren

Kannst auch den SoapFormatter benutzen. Zu finden in der Bibliothek System.Runtime.Serialization.Formatters.Soap.dll. Dieser erzeugt eine auf XML-basierende Struktur. Braucht allerdings unmengen mehr an Speicherplatz. Hat aber den Vorteil, das man die Daten händisch mit einem Texteditor bearbeiten kann.

([bb]|[^b]{2})