值不能为空.参数名:将XmlDocument转换为流时的流
本文关键字:转换 XmlDocument 不能 参数 | 更新日期: 2023-09-27 18:17:46
在调用XmlDocument的Save方法时获得参数异常(流不能为null)。
下面是我的示例代码
public Stream GetModifiedStream(Stream inputStream, string NewText)
{
Stream outputStream = null;
try
{
XmlDocument document = new XmlDocument();
document.Load(inputStream);
XmlNode myNode = document.SelectSingleNode("/title");
myNode.InnerText = NewText;
document.Save(outputStream);
}
catch (Exception exp)
{
outputStream = inputStream;
}
return outputStream;
}
我的GetModifiedStream()方法将接受inputStream参数,它将基本上改变节点的值并将XmlDocument转换为流。和我得到异常,而转换XmlDocument到流
谁能告诉我怎么做这个?谢谢
你必须使用一个现有的流,现在你传递null
,这会导致写入时的异常,而不是使用MemoryStream:
public Stream GetModifiedStream(Stream inputStream, string NewText)
{
Stream outputStream = new MemoryStream();
try
{
XmlDocument document = new XmlDocument();
document.Load(inputStream);
XmlNode myNode = document.SelectSingleNode("/title");
myNode.InnerText = NewText;
document.Save(outputStream);
}
catch (Exception exp)
{
outputStream = inputStream;
}
return outputStream;
}
你想要使用的流类型(文件流,内存流,网络流)实际上取决于你的应用程序,但是你必须传递一个有效的流实例给XmlDocument.Save()
方法