Have a look at the Linux Wiki networking section. To share files between WinXP and Linux you will need to configure Samba. This is not a trivial task, you will need to do some reading and learning along the way.
There are many HowTo's for Samba as well. This is the one I use the most.
http://us1.samba.org/samba/docs/using_samba/toc.html
I have a router, so for me the router looks after the internet connection sharing. Do a search on internet sharing. I'm sure you will find lots of useful information.
Hope this helps.