1

次のコードを使用して、複数のプロセスから使用できるXMLファイルを変更しています

using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
{
    var d = XDocument.Load(fs);
    d.Descendants("TestNode").FirstOrDefault().Descendants("MyInfo").FirstOrDefault().Attribute("Id").Value = "Tested Successfully";
    XElement x1 = new XElement(new XElement("PoolId", "A91"));
    d.Root.Add(x1);
    fs.Seek(0, SeekOrigin.Begin);
    d.Save(fs);
}

このメソッドはLOCKオブジェクト内にあります。

今、私は常にXMLファイルの内容を上書きしたいので、使用しました

fs.Seek(0, SeekOrigin.Begin);

これは正しいですか?もっと良い方法はありますか?

4

1 に答える 1

1

すでに上書きを保存します。Seekを呼び出す必要はありません。

XElementで何をしていますか?

new XElement(new XElement("PoolId", "A91"));

ただ読むことができた

new XElement("PoolId", "A91");
于 2012-04-24T15:17:07.557 に答える