Taxonomy XML

This module makes it possible to import and export vocabularies and taxonomy terms from various formats. See formats.html in the module folder for more detail about the supported syntax.

Once installed and enabled, it provides a list of downloadable documents for each vocabulary at "Taxonomy Export".

To import a vocabulary, use "Administer > Taxonomy > Import".

As well as importing from other Drupal sites, vocabularies can be imported from a number of different sources and syntaxes, including online taxonomy servers. For more detail, see the module docs about formats and services

If you want to add the terms to an existing vocabulary, use the "Target vocabulary" selector.
If you select "determined by source file", the target vocabulary will be specified by the XML document itself, if possible. Not all formats or inputs support this, in which case you will get a default container named "Imported Vocabulary".

Drupal-specific configurations (such as the related node types, or the free-tagging property) will probably not be imported from anything but the custom format, so you'll want to review the new vocabulary edit page when it's done.
To avoid duplications, already-existing terms will not be added unless chosen in the settings. The normal behavior is to attempt to merge with existing vocabs.

Unique IDs for terms

It's highly unlikely that term IDs can be meaningfully shared between systems, so the tid field and vid is NOT retained. Instead, terms are looked up by name (string match) and vocabulary when looking for existing terms. Just because you've duplicated a vocabulary, does not mean it's identically numbered as the original. They will usually get new, unique IDs.

String matching has some weaknesses (compare "Paris", Texas with "Paris", France) which cannot be resolved unless you more to a stricter import method such as GUID/URI described below. Failing that, your terms must include a full unique string ("Paris, Texas") as the full name.

Shared URIS for terms

For really powerful sharing of taxonomies, you should be able to match you local terms with public URIs from known data providers. This is semantically useful internally and required for importing large, spidered vocabularies. If you want to usefully import large numbers of structured terms, you should follow the extra install instructions for enabling URI and RDF support for terms.
If this is not enabled, remote imports of multi-file lookups will still mostly work, but without any parent-child structure.