<?xml version="1.0"?>Vyserializováním objektu do již existujícího souboru může dojít k chybě, která za "příznivých podmínek" tj. pokud výsledný text je delší než předchozí (a kompletně přepíše starou verzi), nemusí projevit.
<RobotSettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ComPortName>COM9</ComPortName>
<BaudRate>9600</BaudRate>
<AutoConnect>false</AutoConnect>
<Velocity>100</Velocity>
<MoveDuration>250</MoveDuration>
<TurningDuration>250</TurningDuration>
<QueueSize>6</QueueSize>
</RobotSettings>>ngDuration></RobotSettings>
Pokud je ale text kratší a vy použijete špatný FileMode - tak přepíše jen začátek a konec ponechá. Jak je vidět v příkladu. A to vede k nevalidnímu XML a chybě parsování a deserializace objektu.
using (FileStream myFileStream = new FileStream(FileName, FileMode.OpenOrCreate))
using (FileStream myFileStream = new FileStream(FileName, FileMode.CreateNew)) -> již existuje.
Žádné komentáře:
Okomentovat