Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem XML serializace C#

Zdravím mam problém s xml serializaci. Potrebuju serializovat array a v nem jeste jeden array a dalsi datove typy(int, string). Orisek pro me je jak serializovat ten array v array. Dekuji za rady.

Předmět Autor Datum
Dá sa to serializovať viacerými spôsobmi. Buď si vytvoríš triedu ktorá má atribút [Serializable] ale…
Len tak 21.02.2009 09:40
Len tak
XmlSerializer serializer = new XmlSerializer(typeof(all)); TextWriter textWriter = new StreamWriter(…
jezz 21.02.2009 09:55
jezz
Môžeš ukázať ten obj. every ako ho máš deklarovaní?
Len tak 21.02.2009 10:00
Len tak
[Serializable] [XmlRoot("all")] public class all { [XmlArray("1")] public ArrayList jedna { get; set…
jezz 21.02.2009 10:14
jezz
[Serializable] [XmlRoot("all")] public class all { [XmlArray("1")] public ArrayList jedna { get; se…
Len tak 21.02.2009 10:52
Len tak
Aplikaci pisi pro Windows mobile 6.1 , SDK jsou orezena a bytove zapisovani knihovna IO nepodporuje.
jezz 21.02.2009 11:16
jezz
StreamWriter čo si hore uviedol je v namespace System.IO. Nerobil som ešte aplikácie pre Windows Mob…
Len tak 21.02.2009 11:43
Len tak
To mi je jasne, metodou jakou jsem to delal mi funguje, jenom mi nejde ulozit array s classou v sobe
jezz 21.02.2009 12:18
jezz
Prosim Vas nikdo nevi? poslední
jezz 21.02.2009 20:52
jezz

Dá sa to serializovať viacerými spôsobmi. Buď si vytvoríš triedu ktorá má atribút [Serializable] alebo keďže je to len pole to si môžeš zoserializovať aj sám prostredníctvom cyklu buď FOREACH alebo FOR a zapisovať to cez (5 možných zápisov do XML) napr. XMLTextWritter.

XmlSerializer serializer = new XmlSerializer(typeof(all));
                TextWriter textWriter = new StreamWriter(DialogSave.FileName.ToString());
                serializer.Serialize(textWriter, every);
                textWriter.Close();

Chyba: There was an error generating the XML document.

Nevim jak mam nastavit class aby to vyhovovalo, kdyz serializuju array(v nem ukladam class) a s tim dale dalsi datove typy(string, float)


	[Serializable]
	[XmlRoot("all")]
	public class all
	{
		[XmlArray("1")]
		public ArrayList jedna { get; set; }

		[XmlAttribute("2")]
		public string dva { get; set; }

		[XmlAttribute("3")]
		public string tri { get; set; }
	}
	
	class Program
	{
		
		static void Main(string[] args)
		{		
			all every = new all() { jedna = new ArrayList() { 1, 2, 3, 5 }, dva = "HODNOTA2", tri = "HODNOTA3" };			
			var ms = new System.IO.MemoryStream();
			XmlSerializer xml = new XmlSerializer(typeof(all));
			xml.Serialize(ms, every);
			System.IO.File.WriteAllBytes("C:\\Serialization.xml", ms.ToArray());
			Console.ReadKey();
		}
	}

Zpět do poradny Odpovědět na původní otázku Nahoru