Hi,
ich habe eine xml in einer Propety gesichert und möchte diese nun, von dort aus, laden und beschreiben. Das Laden funktioniert schon einmal ganz gut. Leider kann ich, anscheinend den XML Stream (MemoryStream - bin momentan etwas verwirrt - also kann es auch dieser sein

) nicht beschreiben bzw. schließen um ihn als Property zu sichern. Aber hier erst einmal der bisherige Quellcode:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45:
| System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Config)); MemoryStream stream = new MemoryStream((byte[])resources.GetObject("config")); XmlWriter xmlWriter = new XmlTextWriter(stream, System.Text.Encoding.UTF8); xmlWriter.WriteProcessingInstruction("xml", "version='1.0' encoding='UTF-8'"); xmlWriter.WriteStartElement("Root"); stream.Seek(0,SeekOrigin.Begin); xmlDoc.Load(stream); XmlNode root = null; root = xmlDoc.DocumentElement; foreach(Datenbank datenbank in attribute.Datenbank){ MessageBox.Show(datenbank.Bezeichnung); XmlNode datenbank_eintrag = xmlDoc.CreateElement("Datenbank"); XmlElement element = xmlDoc.CreateElement("Server"); element.InnerText = datenbank.Server; datenbank_eintrag.AppendChild(element); element = xmlDoc.CreateElement("Port"); element.InnerText = datenbank.Port; datenbank_eintrag.AppendChild(element); element = xmlDoc.CreateElement("Bezeichnung"); element.InnerText = datenbank.Bezeichnung; datenbank_eintrag.AppendChild(element); element = xmlDoc.CreateElement("Datenbankname"); element.InnerText = datenbank.Name; datenbank_eintrag.AppendChild(element); element = xmlDoc.CreateElement("Tabellenprefix"); element.InnerText = datenbank.Prefix; datenbank_eintrag.AppendChild(element); element = xmlDoc.CreateElement("Benutzername"); element.InnerText = datenbank.Benutzername; datenbank_eintrag.AppendChild(element); element = xmlDoc.CreateElement("Password"); element.InnerText = datenbank.Password; datenbank_eintrag.AppendChild(element); element = xmlDoc.CreateElement("Datenbanktyp"); element.InnerText = datenbank.Typ.ToString(); datenbank_eintrag.AppendChild(element); root.AppendChild(datenbank_eintrag); } xmlDoc.Save(stream); return true; }catch(Exception ex){ MessageBox.Show(ex.Message + ex.StackTrace); return false; } |
config ist dabei die byte[] Ressource (XML Datei die als byte[] abgespeichert wird, das mache ich nicht freiwillig - dazu zwingt mich SharpDevelop

Ist ja auch vernünftig bei einer Datei). Ich bekomme entweder beim schließen des Byte-Streams einen Fehler (kann nicht geschrieben, bzw. erweitert, werden) oder beim Laden der Datei (wenn ich also das schließen rauslasse, ist im Prinzip auch logisch das dann dort etwas fehlt. Kann mir jemand weiterhelfen wie ich es besser machen könnte?
Vielen Dank und mfG
RBS2002