Domi1975 a further thought here ... using an xml file will ONLY populate posts/categories/comments/dates/etc data. Any plugins and theme you install and configure locally is NOT part of and xml file import. If plugin and theme configurations are not important to you then go xml. If you want the whole site 'mirrored' on your server, you need to use a full wp-content local backup and transfer this to your online server version. Then you need to make a local database backup and overwrite this copy to your online server. Then, you will nearly have a mirror.
I say nearly, because there are some very important extras that need to be done to make the online site work properly
1- If you add any images locally to your site, you should not use full urls like http://localhost/mysite/wp-content/uploads...etc
If you do this, these must be changed en mass to reflect the new address of the images online. You can do this by opening the local database and doing a msss search and replace of the URL The other option is to add images by releative URLs such as ./wp-content/etc ... If you do this the ./ will be filled in by whatever the site root is.
2- permalinks. I doubt that you used permalinks (pretty links) locally, but if you did, change this back to default before backing up the DB
3- Site URL this also needs changing in the database if it has been written as http://localhost/ ...
4- save the database with these changes and save it as the same name as the database for the online version of the site.
5- You should now be able to 'overwrite' the online database, by selecting to restore it in cpanel your new modified local version.
6- Clear browser cache and cookies and login with your local login details.
7- If you want to keep a synchronised copy of your site locally, try out this system here http://www.mariosalexandrou.com/blog/?p=233
I have done this procedure a few times quite successfully, but you need to take time to check everything, especially the database changes. If you're not comfortable with hacking the database file, this can be daunting at first.
Remember, everything in your localhost database that refers to http://localhost/ must be changed to show http://mydomain.com/ where 'mydomain' is your online TLD