Dim docu As New XmlDocument()docu.load("C:\bigfile.xml")Dim tempNode As XmlNodetempNode = docu.SelectSingleNode("/header/type")someArray(someIndex) = tempNode.innerText...do something more... 我正在使用XmlDocument()来加载一个巨大的
Dim docu As New XmlDocument() docu.load("C:\bigfile.xml") Dim tempNode As XmlNode tempNode = docu.SelectSingleNode("/header/type") someArray(someIndex) = tempNode.innerText ...do something more...
我正在使用XmlDocument()来加载一个巨大的XML文档(100~300MB)
当我打开文档并将其作为字符串读取时,我的应用程序使用大约900MB的RAM.
我想知道它为什么会发生,我怎么能阻止它呢?
请注意:即使是,XmlDocument也没有Dispose()来删除已分配的东西.
虽然我需要在应用程序的后半部分使用巨大的XML文件的整个字符串,但/header/type.innerText只是一个单词
更多来源:
Private Sub setInfo(ByVal notePath As String) Dim _NOTE As XDocument _NOTE = XDocument.Load(notePath) If (From node In _NOTE...<title> Select node).Value = "" Then lvlist.Items.Add("No Title") Else lvlist.Items.Add((From node In _NOTE...<title> Select node).Value) End If lvlist.Items(lvlist.Items.Count - 1).SubItems.Add((From node In _NOTE...<group> Select node).Count) End Sub
它读取XML文档,计算标记并检索字符串值.就这样.
拥有这些值后,_NOTE(XDocument)在那时没用.
Represents a reader that provides fast, noncached, forward-only access to XML data.