0

次の構文を使用して、既存の xml ファイルに次の方法でデータを追加しています。

XmlTextReader Reader = new XmlTextReader("ServerPaths.xml");
        DataSet dsNewList = new DataSet();
        dsNewList.ReadXml(Reader);
        Reader.Close();
        DataTable dt = dsNewList.Tables[0];
        dt.Rows.Add(txtNewServerPath.Text);
        dt.WriteXml("ServerPaths.xml",false);

しかし、最後の行で次のようにエラーが発生していました。

System.IO.IOException was unhandled
          Message=The process cannot access the file 'C:\Documents and Settings\590000\my documents\visual studio 2010\Projects\EasyDeployer\EasyDeployer\bin\Debug\ServerPaths.xml' because it is being used by another process

このエラーの解決にご協力ください。またはこれを行う他の方法はありますか?

私のxmlファイルは次のようになります。

<?xml version="1.0" encoding="utf-8" ?>
<ServerList>
<ServerPath>C:\\Avinash\\Dev1</ServerPath>
<ServerPath>C:\\Avinash\\Dev1</ServerPath>
</ServerList>

新しいサーバーパスを追加したかっただけです..

4

1 に答える 1

3

次のように、XmlNode を xml ドキュメントに追加することもできます。

XmlDocument xd = new XmlDocument();
xd.Load("ServerPaths.xml");

XmlNode rootNode = xd.DocumentElement;
XmlNode serverPathNode = xd.CreateElement("ServerPath");
serverPathNode.InnerText = txtNewServerPath.Text; // Your value

rootNode.AppendChild(serverPathNode);

xd.Save("ServerPaths.xml");
于 2013-09-20T14:06:40.720 に答える