Re: Structured HTML to XML

"R. Rogers" <[email protected]>
Newsgroups gmane.comp.windows.devel.dotnet.winforms
Message-ID <000f01c772f7$cadb5990$6600a8c0@Speedster>
Both true and valid options, but not really practical because I have over
one hundred datasets to pull in:

http://www.sportstats.ca/res1997/nord10k.htm
http://www.sportstats.ca/res1997/sunny10.htm
http://www.sportstats.ca/res1997/ncm.htm
http://www.sportstats.ca/res1997/niaghalf.htm
http://www.sportstats.ca/res1997/niagmara.htm
http://www.sportstats.ca/res1997/ncmh.htm
http://www.sportstats.ca/res1997/rattle10.htm
http://www.sportstats.ca/res1997/xerox10.htm
http://www.sportstats.ca/res1997/sunny3.htm
http://www.sportstats.ca/res1997/ncm6k.htm
http://www.sportstats.ca/res1997/nordion.htm

http://www.sportstats.ca/res1998/nord5k.htm
http://www.sportstats.ca/res1998/ncm5k.htm
http://www.sportstats.ca/res1998/ncmmar.htm
http://www.sportstats.ca/res1998/ncmhalf.htm
http://www.sportstats.ca/res1998/sunny10.htm
http://www.sportstats.ca/res1998/reach5k.htm
http://www.sportstats.ca/res1998/kingbeat.htm
http://www.sportstats.ca/res1998/beat8k.htm
http://www.sportstats.ca/res1998/rattle10.htm
http://www.sportstats.ca/res1998/can10k.htm
http://www.sportstats.ca/res1998/grimhalf.htm

http://www.sportstats.ca/res1999/rsboiran.htm
http://www.sportstats.ca/res1999/nor10k1.htm
http://www.sportstats.ca/res1999/bay30k.htm
http://www.sportstats.ca/res1999/cimh.htm
http://www.sportstats.ca/res1999/sp10k.htm
http://www.sportstats.ca/res1999/cimm.htm
http://www.sportstats.ca/res1999/mara5.htm
http://www.sportstats.ca/res1999/rdkiran.htm
http://www.sportstats.ca/res1999/mara.htm
http://www.sportstats.ca/res1999/marah.htm

http://www.sportstats.ca/res2000/bay30k.htm
http://www.sportstats.ca/res2000/mds10k.htm
http://www.sportstats.ca/res2000/cimh.htm
http://www.sportstats.ca/res2000/ncmhalf.htm
http://www.sportstats.ca/res2000/ncm5k.htm
http://www.sportstats.ca/res2000/ncmmara.htm
http://www.sportstats.ca/res2000/cimm.htm
http://www.sportstats.ca/res2000/compu10.htm
http://www.sportstats.ca/res2000/casm.htm
http://www.sportstats.ca/res2000/gatorh.htm

http://www.sportstats.ca/res2001/nord10k.htm
http://www.sportstats.ca/res2001/bay30.htm
http://www.sportstats.ca/res2001/marahalf.htm
http://www.sportstats.ca/res2001/cimh.htm
http://www.sportstats.ca/res2001/mara5k.htm
http://www.sportstats.ca/res2001/mara.htm
http://www.sportstats.ca/res2001/cimm.htm
http://www.sportstats.ca/res2001/legacy5k.htm
http://www.sportstats.ca/res2001/pb5k.htm
http://www.sportstats.ca/res2001/casnm.htm

http://www.sportstats.ca/res2002/nord10k.htm
http://www.sportstats.ca/res2002/marah.htm
http://www.sportstats.ca/res2002/cimhalf.htm
http://www.sportstats.ca/res2002/scotiah.htm
http://www.sportstats.ca/res2002/bay30k.htm
http://www.sportstats.ca/res2002/mara.htm
http://www.sportstats.ca/res2002/mara5k.htm
http://www.sportstats.ca/res2002/cimmara.htm
http://www.sportstats.ca/res2002/pb5k.htm
http://www.sportstats.ca/res2002/casha.htm

http://www.sportstats.ca/res2003/marahm.htm
http://www.sportstats.ca/res2003/nord10k.htm
http://www.sportstats.ca/res2003/sp10k.htm
http://www.sportstats.ca/res2003/bay30.htm
http://www.sportstats.ca/res2003/timha.htm
http://www.sportstats.ca/res2003/scotiah.htm
http://www.sportstats.ca/res2003/mara5k.htm
http://www.sportstats.ca/res2003/marama.htm
http://www.sportstats.ca/res2003/timma.htm
http://www.sportstats.ca/res2003/casha.htm

http://www.sportstats.ca/res2004/marahm.htm
http://www.sportstats.ca/res2004/nordion1.htm
http://www.sportstats.ca/res2004/bay30.htm
http://www.sportstats.ca/res2004/torha.htm
http://www.sportstats.ca/res2004/marama.htm
http://www.sportstats.ca/res2004/nordion5.htm
http://www.sportstats.ca/res2004/torma.htm
http://www.sportstats.ca/res2004/missh.htm
http://www.sportstats.ca/res2004/casha.htm
http://www.sportstats.ca/res2004/missm.htm

http://www.sportstats.ca/res2005/runto.htm
http://www.sportstats.ca/res2005/marahm.htm
http://www.sportstats.ca/res2005/nordion1.htm
http://www.sportstats.ca/res2005/nordion5.htm
http://www.sportstats.ca/res2005/bay30.htm
http://www.sportstats.ca/res2005/marama.htm
http://www.sportstats.ca/res2005/torontoh.htm
http://www.sportstats.ca/res2005/missh.htm
http://www.sportstats.ca/res2005/torontom.htm
http://www.sportstats.ca/res2005/missm.htm

http://www.sportstats.ca/res2006/ncmhm.htm
http://www.sportstats.ca/res2006/ncm10.htm
http://www.sportstats.ca/res2006/ncm5k.htm
http://www.sportstats.ca/res2006/bay30.htm
http://www.sportstats.ca/res2006/missh.htm
http://www.sportstats.ca/res2006/torontoh.htm
http://www.sportstats.ca/res2006/ncmma.htm
http://www.sportstats.ca/res2006/missm.htm
http://www.sportstats.ca/res2006/torontom.htm
http://www.sportstats.ca/res2006/noseh.htm

Thanks for your help,

Richard
-----Original Message-----
From: Discussion forum for developers using Windows Forms to build apps and
controls [mailto:[email protected]] On Behalf Of Adam
Sills
Sent: March 30, 2007 12:15 PM
To: [email protected]
Subject: Re: [DOTNET-WINFORMS] Structured HTML to XML

I would have suggested writing a custom parser for every new format of race
results (like you said you didn't want to do).

There's always Excel (it actually breaks apart that data real well) and SQL
Server (using integration services to import a fixed-field length data
file).

Adam..

-----Original Message-----
From: Discussion forum for developers using Windows Forms to build apps and
controls [mailto:[email protected]] On Behalf Of R. Rogers
Sent: Friday, March 30, 2007 10:59 AM
To: [email protected]
Subject: [DOTNET-WINFORMS] Structured HTML to XML

Hello,

My task is to convert race results like this to XML:
http://www.sportstats.ca\res1997\nord10k.htm

You can see that there are 1,948 race results. I need to create 1,948 xml
elements. I would like to see XML data like this:

<Racer>
<Place>1</Place>
<ClockTime>29:41</ClockTime>
<PacePerK>2:59</PacePerK>
<BibNumber>1868</BibNumber>
<Name>Rachid TBAHI</Name>
<City>Sleepy Hollow</City>
<Prov>NY</Prov>
<CategoryPlace>1/213</CategoryPlace>
<GenderPlace>1/1216</GenderPlace>
<Category>Men 30-34</Category>
</Racer>

I've shown just the first entry, and would expect to see 1,947 more.

A few months ago, I wrote some C# code that would convert the URL above to
the kind of XML I wanted. I noticed that the race results were all after a
<pre> tag. I found that I had to use a C# regular expression to parse the
race results. Creating one regular expression isn't so bad, but there is so
much race results data, conforming to many different regular expressions,
that this becomes a large project for me.

Recently, I found out about Dapper and thought it would be able to make this
a manageable project. Their website is here: http://www.dapper.net/

I have tried unsuccessfully to create a Dapp that will do this. If you look
at the source html for the sportstats URL, you will see that there isn't
anything delineating the attributes I need to capture. It's not like a CSV
file - it's more like an old fashioned mainframe fixed width file. I can't
seem to define fields for the Dapp, as a result.

Any suggestions are most welcome!

Richard Rogers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.