我试图使用XMLWriter创建一个包含大数据的xml,该函数执行时没有任何异常.但是当我打开XML时,我发现创建的XML不完整,它在中途被破坏.我不知道我做错了什么.是否有XMLWriter的默认大小限制?XMLWriter是创建大型XML的最佳方式吗?如果没有,请告诉我什么是创建大型xml的最佳方法?使用XDocument是否让我的生活更轻松?
这是我的代码结构(我不能把我的原始代码放在这里!! :()
using (//file stream)
{
XmlWriter mywriter = new XmlWriter.Create(@"C:\mydata.xml");
// write start element1
// write start element2
while (//not end of file)
{
switch (entrytype)
{
Case 1:
// create elements
Case 2:
// create elements
so on ....
}
}
// write end element2
// write endelement1
}
Run Code Online (Sandbox Code Playgroud)
XML的大小预计为几百KB.
请回复..
我怀疑你没有正确关闭写入:
using (//file stream)
{
using(XmlWriter mywriter = new XmlWriter.Create(@"C:\Auditlog.xml")) {
// write start element1
// write start element2
while (//not end of file)
{
switch (entrytype)
{
Case 1:
// create elements
Case 2:
// create elements
so on ....
}
}
// write end element2
// write endelement1
}
}
Run Code Online (Sandbox Code Playgroud)
请注意额外的using- 如果没有编写器可能有一些数据仍然缓冲.这通常会占到缺少结束的数据; 如果没有可重复的例子,我们就无法诊断它在中途退出.
另请注意:xml 适用于大文件,但它不一定是最好的choce - 几百k应该没问题.
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |