Versuch, ein XmlDocument in eine Datei zu serialisieren. Das XmlDocument ist ziemlich groß; Im Debugger kann ich jedoch sehen, dass die InnerXml-Eigenschaft den gesamten XML-Blob enthält - sie wird dort nicht abgeschnitten.
Hier ist der Code, der mein XmlDocument-Objekt in Datei schreibt:
%Vor%Die Datei, die hier produziert wird, schreibt nur in die Zeile 5.760 - sie ist tatsächlich in der Mitte eines Tags abgeschnitten!
Hat jemand irgendwelche Ideen, warum dies hier abgeschnitten würde?
Update: Ich habe die Ursache des Problems gefunden. Ich habe den XML Text Writer nicht geschlossen, bevor ich den Dateistrom geschlossen habe! D'oh!
Der XmlTextWriter wurde nicht ordnungsgemäß geschlossen. Woops!
Sie können versuchen, den Stream vor dem Schließen zu leeren. Wenn AutoFlush wahr ist, denke ich, dass es bei Close () trotzdem geleert wird, aber es könnte einen Versuch wert sein:
%Vor%Es ist weit weg ... nachdem die ursprüngliche Frage gestellt wurde, aber es zeigte sich auf Google-Ergebnissen.
Ich habe heute etwas ähnliches durchgemacht und wollte meine Antwort teilen (für die nächste unglückliche Seele, die sich dieser Verwirrung gegenübersieht).
Ich verwende einen StreamWriter (sw) mit einem MemoryStream (ms), um Daten im Speicher zu halten und dann in bestimmten Intervallen in einen Dateistrom (fs) zu übertragen.
So machte ich
%Vor%Und dann wurde alles gesagt und getan
%Vor%Problem war, dass ich den StreamWriter nicht zuerst in den MemoryStream gespült habe
Das Ändern dieses Problems hat mein Problem behoben.
%Vor%Tags und Links c# xml xmldocument filestream xmltextwriter