importing XML file to create/update nodes, relation nodes/users, and taxonomy terms (to several vocabularies)
The migrate and migrate extras modules are your best friend for this (for Drupal 6 and 7).

The downside is all configuration is done in PHP Classes so you must have a reasonable amount of knowledge about them.

The upside is the documentation. The migrate module comes with an excellent example module that has examples for importing taxonomy, users, nodes + comments, files and roles from a SQL database and XML (it can also import from CSV, JSON and more but is not part of example module)

If you're looking for a nice UI to handle all this, migrate is not for you. You won't find anything else as flexible and full featured though.