这是我写的一段代码: private void ReadXmlFile(string fileName)
{
string tempText1 = "tempX";
string tempText2 = "tempY";
string replaceText1 = "replaceX";
string replaceText2 = "replaceY"; MemoryStream mStream = new MemoryStream();
StreamWriter sw = null;
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
sw = new StreamWriter(mStream);
string text = string.Empty;
do
{
text = sr.ReadLine();
if (text.Contains(tempText1))
{
text = text.Replace(tempText1, replaceText1);
}
if (text.Contains(tempText2))
{
text = text.Replace(tempText2, replaceText2);
}
sw.WriteLine(text);
sw.Flush();
}
while (sr.Peek() >= 0);
}
} XmlDocument doc = new XmlDocument();
document.PreserveWhitespace = true;
document.Load(mStream);
}在document load 这个MemoryStream时,有个XmlException扔出, Root element is missing!
请问这是什么原因造成的啊?
如果直接用FileStream打开这个xml文件,用XmlDocument load 这个流则没有错误.是不是使用MemoryStream要注意一些问题啊?
{
string tempText1 = "tempX";
string tempText2 = "tempY";
string replaceText1 = "replaceX";
string replaceText2 = "replaceY"; MemoryStream mStream = new MemoryStream();
StreamWriter sw = null;
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
sw = new StreamWriter(mStream);
string text = string.Empty;
do
{
text = sr.ReadLine();
if (text.Contains(tempText1))
{
text = text.Replace(tempText1, replaceText1);
}
if (text.Contains(tempText2))
{
text = text.Replace(tempText2, replaceText2);
}
sw.WriteLine(text);
sw.Flush();
}
while (sr.Peek() >= 0);
}
} XmlDocument doc = new XmlDocument();
document.PreserveWhitespace = true;
document.Load(mStream);
}在document load 这个MemoryStream时,有个XmlException扔出, Root element is missing!
请问这是什么原因造成的啊?
如果直接用FileStream打开这个xml文件,用XmlDocument load 这个流则没有错误.是不是使用MemoryStream要注意一些问题啊?
解决方案 »
- winform程序,想增加短信群发功能,请推荐个正规的短信平台?急
- ManualResetEvent.WaitOne()为什么占用很多CPU?
- AutoResetEvent怎么用
- winform模拟键盘back
- c#调用API
- 如何隐藏RichTextBox中的光标?
- SqlDataReader.GetValues()是怎么用的阿
- C# Winform datagridview DataGridViewCheckBoxColumn问题
- \u64CD\u4F5C\u6210\u529F 怎么转成中文“操作成功”
- 我想做一个用.net做setup程序,怎么将用户信息写到注册表???
- 请问CSDN上面的散分系统是怎么实现的?高分等待中......
- .net2005里SqlDataSource的基本使用问题
找不到根节点吗??是不是你的XML文件有点问题!
原来在XmlDocument加载MemoryStream前,要将它的读取位置设置为0...mStream.Seek(0, SeekOrigin.Begin);