#Region Project Attributes
#MainFormWidth: 10
#MainFormHeight: 10
#End Region
Sub Process_Globals
Private fx As JFX
Private MainForm As Form
Private fc As FileChooser
Private str,strdir,strfile,jsoupstr As String
Private jsoup1 As jSoup
Public lsttables,lstyears,lstheaders(20),lsttabledata(20) As List
End Sub
Sub AppStart (Form1 As Form, Args() As String)
MainForm = Form1
'MainForm.RootPane.LoadLayout("Layout1") 'Load the layout file.
MainForm.Show
lsttables.Initialize
lstyears.Initialize
fc.Initialize
fc.InitialDirectory="C:\Users\inaki\Downloads"
Dim str =fc.ShowOpen(MainForm)
If Not(str.Contains("\")) Then Return
strdir=str.SubString2(0,str.LastIndexOf("\"))
strfile=str.SubString2(str.LastIndexOf("\")+1,str.Length)
str=File.ReadString(strdir,strfile )
jsoupstr=jsoup1.parse_HTML(str)
'Find years
lstyears=jsoup1.getElementsByTag(str,"h2")
For i=0 To lstyears.size-1
Dim strtmp1 As String
strtmp1=lstyears.get(i)
strtmp1=strtmp1.SubString2(strtmp1.IndexOf(">")+1,strtmp1.LastIndexOf("<"))
Log(strtmp1)
Next
'Find tables
lsttables=jsoup1.getElementsByTag(str,"table")
Dim strtmp(lsttables.Size) As String
For i=0 To lsttables.Size-1
strtmp(i)=lsttables.Get(i)
Next
'Find table headers
For i=0 To strtmp.Length-1
Dim lsttmp As List
lsttmp.Initialize
lsttmp=jsoup1.getElementsBytag(strtmp(i),"th")
For j=0 To lsttmp.Size-1
Dim strtmp1 As String
lstheaders(i).Initialize
strtmp1=lsttmp.get(j)
strtmp1=strtmp1.SubString2(strtmp1.IndexOf(">")+1,strtmp1.LastIndexOf("<"))
Log(strtmp1)
lstheaders(i).Add(lsttmp.get(j))
'Log(lsttmp.Get(j))
Next
Next
'Find table data
For i=0 To strtmp.Length-1
Dim lsttmp As List
lsttmp.Initialize
lsttmp=jsoup1.getElementsBytag(strtmp(i),"td")
For j=0 To lsttmp.Size-1
Dim strtmp1 As String
lsttabledata(i).Initialize
strtmp1=lsttmp.get(j)
strtmp1=strtmp1.SubString2(strtmp1.IndexOf(">")+1,strtmp1.LastIndexOf("<"))
lsttabledata(i).Add(strtmp1)
Log(strtmp1)
Next
Next
End Sub