我有一个 VB 网络应用程序,它需要从 Internet 上的现有网页中读取信息。因此我使用 mshtml 库。我将 html 读入 ihtmldocument3 界面。之后,我遍历 ihtmlelementcollection 并且在 Visual Studio 2010 调试器中一切正常。至少,第一次。当我第二次调试代码时,在迭代了几个元素之后,下一个元素什么都不返回,我得到一个异常。(当我闯入代码时, ihtmlelementcollection 显示 0 个项目。)当我重命名所有变量时,它运行正常,但同样,只是第一次。
这是我用来调试的代码。我已经概述了实际代码,因为它会响应异常(空引用)。我是否需要手动发布集合或其他东西,还是我在做一些愚蠢的事情?
'global variable
Private tables as IHTMLElementCollection
...........................................
Dim tableChildren As IHTMLElementCollection = tables(3).children
Dim trElements As IHTMLElementCollection = tableChildren.item(0).getElementsByTagName("tr")
Dim intCount As Integer 'just for debugging purposes
For Each element As IHTMLElement In trElements
intCount += 1 'for debugging purposes
Debug.Print(intCount.ToString & vbNewLine & element.innerHTML)
'strLine1 = element.children(0).innerText
'strLine2 = element.children(1).innerText
'and so on...
Next