我正在尝试编写一个 XML 文件,它是一个 Google 产品提要,但速度很慢。
做了相当多的谷歌搜索后,我不确定最快的方法,除了将它分成更小的文件。
我目前有大约 3500 种产品,这就是我正在做的事情。
Dim fs As New FileStream(HttpContext.Current.Server.MapPath("LOCATION OF FEED XML"), FileMode.Create)
Dim writer As New XmlTextWriter(fs, System.Text.Encoding.UTF8)
writer.WriteStartDocument()
' ==== LOAD DATABASE INTO OdbcDataReader CALLED 'd' ==== '
While d.Read
try
writer.WriteStartElement("item")
writer.WriteStartElement("g:id")
writer.WriteString(pID)
writer.WriteEndElement()
'==== etc
catch
ignore broken ones
end
End While
writer.WriteEndElement()
writer.WriteEndDocument()
writer.Close()
d.Dispose()
connection.Dispose()
connection.Close()
我不熟悉FileStream
,MemoryStream
等等,所以不太确定这里到底发生了什么。
大概写入内存会更快,但是这样做然后保存到磁盘的过程是什么?
数据量是否会成为内存问题?
显然我正在使用 .NET 2.0 使用 VB 进行编码
任何建议表示赞赏。