if you only have two PC's a router is definitly not necessary.
the best method for you right now is a cross over cable.
and costing probably somewhere around the one quid mark it's a lot cheaper than buying a router, which will only ever have to route between two machines. (the whole point of a router is it stores packet information to decide to the best route to a place. a little pointless when only connecting two machines). At a push you could go for a switch, (assumgin you'd add more computers to the network later), or a hub, but even then you need two cables and a hub, with a crossover cable you only need one cable.
Right you hae the cards installed in the machines?
Are the drivers all installed and do the card show up on the device manager and are they listed as working?
(win98> right click on the my computer, select properties, select the device manager tab
winXP> right click my computer select manage, selecte the device manager tree node).
if they are both listed as installed and working fine, then make sure the computer can contact it's self.
open up the command prompt.
(win98> start > run > command
winXP> start > run > cmd)
now type PING 127.0.0.1
you should see the message
REPLY FROM 127.0.0.1 Bytes=32 time<1ms TTL=128
(four times)
if you dont see this there is a problem with the network card installation.
next take your crossover cable and plug it into both machines.
(assuming the cards have connected/activity lights)
you should now see some flashing lights at the back of each machine.
If all of these tests are sucessfull, then the card is installed correctly, and the reason they cannot 'see' each other is a configuration problem...
Go back to the dos box and type
(win98 > WINIPCFG
winXP > IPCONFIG)
you shoudl now see the addresses the computers are assuming.
you should look at the adapter properties in the network connections folder, and set these to be simillar.
(set IPaddresses as 192.168.0.x (where x is a number 1 -> 255)(they have to be different on each machine)
set the subnet to 255.255.255.0
(you may have to restart)
go back to the command prompt as before and now try to ping the other computer (using the address number you gave it).
all being well (and assuming I didn't miss anything) they should be able to see each other.