C# XMLDocument s FileStream
Napsal: stř 4. črc 2012, 00:50
Mám problém,
píšu aplikaci a chtěl jsem, abych mohl zamykat projektový soubor, který si uživatel vytvoří, což ale klasický XMLDocument neudělá, našel jsem na netu, že můžu XMLDocument ukládat i přes stream, tak jsem to napsal, ale mám problém... Pokud výsledný XML soubor je menší než původní, tak to ponechá zbytek v souboru.
Původní soubor
programově ho poté upravím a výsledek by měl být
jenomže jak zkončí zápis, tak v souboru zůstane zbytek dat, takže výsledný soubor vypadá
Takto dělám se streamy a XMLDocumentem
Díky za jakoukoli radu
píšu aplikaci a chtěl jsem, abych mohl zamykat projektový soubor, který si uživatel vytvoří, což ale klasický XMLDocument neudělá, našel jsem na netu, že můžu XMLDocument ukládat i přes stream, tak jsem to napsal, ale mám problém... Pokud výsledný XML soubor je menší než původní, tak to ponechá zbytek v souboru.
Původní soubor
Kód: Vybrat vše
<?xml version="1.0" encoding="utf-8"?>
<root>
<vnoreny atribut="1"/>
</root>Kód: Vybrat vše
<?xml version="1.0" encoding="utf-8"?>
<root>
<vnoreny/>
</root>Kód: Vybrat vše
<?xml version="1.0" encoding="utf-8"?>
<root>
<vnoreny/>
</root>ny/></root>Kód: Vybrat vše
XMLstream = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Read);
xml.Load(XMLstream);
ukládání:
XMLstream.Flush();
XMLstream.Position = 0;
xml.Save(XMLstream);