Mapping the n:n unit-hierarchy to the 1:n relationship of parent and children in xml will add more complexity (though it is in the sense of xml), since the format won't be extendable (you can simply add a new element to the bottom of a list, but in an hierarchy you have to specify where to add it) and composed units like speed have no real parents.
Defining units by an expression like definition="km/h" sounds more natural, but seems not to be in the sense of xml (definition within a string vs. definition through a semantic xml node).
So I combined my first solution and the solution of barneyman:
="1.0"="utf-8"
<UnitLibrary xmlns="http://www.hediet.de/xsd/unitlibrary/1.0">
<BaseUnit Name="Meter" Abbr="m" />
<SimpleUnit Name="Kilometer" Abbr="km" Factor="1000" UnderlayingUnit="m" />
<SimpleUnit Name="Milimeter" Abbr="mm" Factor="0.001" UnderlayingUnit="m" />
<BaseUnit Name="Second" Abbr="s" />
<SimpleUnit Name="Minute" Abbr="min" Factor="60" UnderlayingUnit="s" />
<SimpleUnit Name="Hour" Abbr="h" Factor="60" UnderlayingUnit="min" />
<ComplexUnit Name="Kilometers per Hour" Abbr="kmh">
<UnitPart Power="1" Unit="km" />
<UnitPart Power="-1" Unit="h" />
</ComplexUnit>
<ComplexUnit Name="Meters per Second" Abbr="mps">
<UnitPart Power="1" Unit="m" />
<UnitPart Power="-1" Unit="s" />
</ComplexUnit>
</UnitLibrary>
I think this will be the best.