The calculated distance (air line) between Shanghai and Xiaoshan is approximately 102 miles respectively 164 kilometers.
By car or train, the actual journey to Xiaoshan is certainly longer, as only the direct route (as the crow flies) between Shanghai and Xiaoshan has been calculated here.