I can remember the pain of doing this as a first year intern at a sporting odds aggregation site, the biggest challenge was dealing with the invalid xml and non standardized naming scheme. Montreal Canadians, The Habs, etc.
Our eventual solution was to use a trained matcher, but obviously it was not ideal since human intervention was required :(