XmlDocument与XmlReader比较

1 篇文章 0 订阅

XmlDocumentXmlReader读取Xml占用内存和速度比较示例

代码1

private voidbutton1_Click(object sender, EventArgs e)
{
OpenFileDialog fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == DialogResult.OK)
{
DateTime startTime = DateTime.Now;
XmlDocument xmlDocument = newXmlDocument();
xmlDocument.Load(fileDialog.FileName);
foreach (XmlNodexmlNode in xmlDocument.ChildNodes)
{
}
DateTime endTime = DateTime.Now;
double milliseconds = (endTime -startTime).TotalMilliseconds;
label1.Text= "Read Finished in " +milliseconds.ToString() + " Milliseconds";
}
}

选择大小37MBxml文件,这个程序占用内存158MB,读取时间2000 Milliseconds左右

 

代码2

private voidbutton1_Click(object sender, EventArgs e)
{
OpenFileDialog fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == DialogResult.OK)
{
DateTime startTime = DateTime.Now;
XmlReader xmlReader = XmlReader.Create(fileDialog.FileName);
while (xmlReader.Read())
{
}
DateTime endTime = DateTime.Now;
double milliseconds = (endTime -startTime).TotalMilliseconds;
label1.Text= "Read Finished in " +milliseconds.ToString() + " Milliseconds";
}
}

选择同一个xml文件,程序占用内存34MB,读取时间不到500Milliseconds。


因此,可以考虑读取大文件时使用XmlReader,经常随机读取小文件时使用XmlDocument。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值