LOCAL lcString,lni,lni2,lcRec USE myTable lcString=STREXTRACT(FILETOSTR("myHTMLFile.html"),"<TBODY>","</TBODY>") lcString = SUBSTR(lcString,AT("<TR>",lcString,2)) && Skip headings FOR lni = 1 TO OCCURS("<TR>",lcString) * Parse a record APPEND BLANK IN myTable lcRec = STREXTRACT(lcString,"<TR>","</TR>",lni) FOR lni2 = 1 TO 7 REPLACE (FIELD(lni2)) WITH STREXTRACT(lcRec,"<TD>","</TD>",lni2) ENDFOR ENDFORYou'd need a DBF set up in the right format (all strings as it stands) and it will, of course, break if the HTML changes. I'd have thought the .NET guys could cobble something together to deliver this in valid XML in 10 minutes....