Tôi có một C# chức năng đơn giản mà tạo ra một tập tin XML cơ bản và tiết kiệm:XmlDocument Lưu giữ tập tin mở
private void CreateXMlFile(string Filename, string Name, string Company)
{
XmlDocument doc = new XmlDocument();
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(docNode);
XmlNode licenseNode = doc.CreateElement("license");
doc.AppendChild(licenseNode);
XmlNode node = doc.CreateElement("Name");
node.AppendChild(doc.CreateTextNode(Name));
licenseNode.AppendChild(node);
node = doc.CreateElement("Company");
node.AppendChild(doc.CreateTextNode(Company));
licenseNode.AppendChild(node);
doc.Save(Filename);
}
Khi tôi cố gắng để chỉnh sửa hoặc xóa các tập tin tôi luôn luôn nhận được lỗi sau:
The process cannot access the file because it is being used by another process.
XmlDocument không có bất kỳ việc định sẵn hoặc đóng thói quen sẵn có nào và tự hỏi làm thế nào tôi có thể buộc tệp phải đóng trước khi chỉnh sửa hoặc xóa nó sau này.
Tôi đã cố gắng để lưu các tập tin sử dụng StreamWriter:
StreamWriter outStream = System.IO.File.CreateText(outfile);
outStream.Write(data);
outStream.Close();
Nhưng điều này didnt tạo sự khác biệt với các lỗi tương tự.
Lời khuyên của bạn được chấp nhận rất nhiều.
Cảm ơn bạn
Bạn đã cố gắng viết nó với một thể hiện của một dòng ghi thay vì chuyển tên tệp để lưu? – Steve
Tôi đã có cùng một vấn đề, nhưng mã của tôi đã tải XML đầu tiên nếu nó tồn tại. Đối tượng 'XmlReader' cần được đóng trước khi khóa được giải phóng. –