[C# 2.0/3.0 (2005)] Serialization stream probleem

Pagina: 1
Acties:

  • BasSpruit
  • Registratie: September 2002
  • Laatst online: 09-04-2022
Ik ben bezig met een progje waarmee ik mijn bookmarks (klassen gegenereerd via XSD.exe) opsla in xml, en ook weer kan bewerken en opslaan. Dit werkt allemaal. Serializeren naar XML bestanden en DeSerializeren van XML bestanden gaat prima.

maar:
C#:
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
        public void Export()
        {
            FileInfo target = new FileInfo(@"U:\Bookmarks.html");
            if (target.Exists)
            {
                target.Delete();
            }

            using (FileStream datastream = target.Open(FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read))
            {
                using (MemoryStream memstream = new MemoryStream())
                {
                    XmlSerializer ser = new XmlSerializer(this.currentFile.GetType());
                    XmlTextWriter wri = new XmlTextWriter(memstream, Encoding.UTF8);

                    wri.Formatting = Formatting.Indented;
                    ser.Serialize(wri, this.currentFile);
                    wri.Flush();

                    XslCompiledTransform transform = new XslCompiledTransform();
                    XmlDocument stylesheet = new XmlDocument();
                    XmlDocument datasheet = new XmlDocument();
                    XsltArgumentList list = new XsltArgumentList();
                    StreamReader reader = new StreamReader(memstream);

                    stylesheet.LoadXml(Properties.Resources.Favorites);
                    datasheet.LoadXml(reader.ReadToEnd());

                    transform.Load(stylesheet);
                    transform.Transform(datasheet, list, datastream);

                    memstream.Flush();
                    memstream.Close();
                }

                datastream.Flush();
                datastream.Close();
            }

        }


dit werkt dus niet. de StreamReader.ReadToEnd() geeft een lege string terug.
het "stylesheet" XmlDocument wordt netjes gevuld, en als ik (in dit voorbeeld) regel 27 uitcommentarieer, dan krakt mijn code niet.

Ik heb hierbij geen idee van wat ik nu fout doe. Ik heb me lam gezocht, maar dergelijke voorbeelden zijn moelijk te vinden. (te veel resultaten, en veel waar ik niks aan heb.)

edit:
Ik heb hem dus al opgelost, De position moest nog op 0 worden gezet

[ Voor 2% gewijzigd door BasSpruit op 11-01-2007 16:14 . Reden: Opgelost ]