在为XmlDocument调用Save方法时,我得到了Argument Exception(Stream不能为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转换为流
时遇到异常谁能告诉我怎么做?
由于
答案 0 :(得分:2)
你必须使用现有的流,现在你传递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()
方法。