以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请帮我找出代码中的错误  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=160159)

--  作者:304376480
--  发布时间:2021/1/22 17:00:00
--  请帮我找出代码中的错误
老师您好!

我想把网页表格中的数据存到一个集合变量中
Dim pptable As object = Args(0) ’网页中的一个元素
Dim mxtable As object = Args(0)
Dim MXRow As new List(of String)  ‘定义一个变量,放数据行
Dim MXTab As new List(of object)  ’定义一个变量,准备把集合MXRow 放进来
Dim showmx As object = pptable.Document.GetElementById("showmx")
If showmx Is Nothing Then
    Dim trls As object = pptable.GetElementsByTagName("tr")
    For i As Integer = 1 To trls.count - 3
        MXRow.Clear ‘清空集合
        For Each td As object In trls(i).GetElementsByTagName("span")
            MXRow.Add(td.Innertext)  ’这里用msgbox测试都正常
        Next
        MXTab.Add(MXRow) ’把行的集合添加到 MXTab
    Next
Return MXTab ’返回集合变量 MXTab
end if

下面是打印结果,验证这个变量
 For Each hs As object In mxtab
    For Each c As String In hs
        msgbox(c)  ‘发现打印出来的结果都是同样的数据,都是最后一行的数据?
    Next
Next

--  作者:有点蓝
--  发布时间:2021/1/22 17:21:00
--  
If showmx Is Nothing Then
    Dim trls As object = pptable.GetElementsByTagName("tr")
    For i As Integer = 1 To trls.count - 3
        MXRow = new List(of String)
        For Each td As object In trls(i).GetElementsByTagName("span")
            MXRow.Add(td.Innertext)  ’这里用msgbox测试都正常
        Next
        MXTab.Add(MXRow) ’把行的集合添加到 MXTab
    Next

--  作者:304376480
--  发布时间:2021/1/22 17:53:00
--  
好的,谢谢了图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看