gpt4 book ai didi

c# - 无法删除文件 IO 异常 :

转载 作者:太空宇宙 更新时间:2023-11-03 10:59:00 25 4
gpt4 key购买 nike

我有一个使用 xsl 样式表翻译 xml 文件的函数。它做得很好;但是当我想删除转换后的文件时,有时会出现以下错误:System.IO.IOException:进程无法访问文件

函数是这样的:

XslTransform transform = new XslTransform();

transform.Load('xsl_style_sheet');

transform.Transform('fullpath/xmlfilename','fullpath/transformedFileName')

XElement xEle = XElement.Load('fullpath/transformedFileName');

我用 xEle 做了什么,最后我想删除 'fullpath/transformedFileName' 但有时我得到可怕的 System.IO.IOException: 进程无法访问文件

谁能帮帮忙。一百万个感谢

最佳答案

使用 XslCompiledTranform类 ( XslTranform is obsolete) 和接受 XmlReader 和 XmlWriter 的 Transform 的重载。您可以对它们调用 Dispose,它们将负责关闭和处置底层流。

// Load the style sheet.
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("xsl_style_sheet");

// Create the writer.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "\t";
using(XmlWriter writer = XmlWriter.Create("fullpath/transformedFileName", settings))
{
using(XmlReader reader = XmlReader.Create("fullpath/xmlfilename"))
{
reader.MoveToContent();
xslt.Transform(reader, writer);
}
}

using(XmlReader reader = XmlReader.Create("fullpath/transformedFileName"))
{
XElement xEle = XElement.Load(reader);
// do all other stuff you need to do here


// after this the file will be closed
}

关于c# - 无法删除文件 IO 异常 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18388249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com