Xu hatte seinen ersten internationalen Erfolg bei den Juniorenweltmeisterschaften 2012 in Melbourne. Dort gewann er mit der Staffel über 3000 m die Silbermedaille. Zwei Jahre später holte er bei den Juniorenweltmeisterschaften in Erzurum mit der Staffel über 3000 m die Goldmedaille. Bei der Winter-Universiade 2015 in Granada gewann er ebenfalls mit der Staffel über 3000 m Gold. Zu Beginn der Saison 2015/16 startete er erstmals im Weltcup. Dabei kam er auf den 17. Platz über 1000 m und erreichte mit dem dritten Rang über 1500 m seine erste Weltcuppodestplatzierung. Im Februar 2017 wurde er bei der Winter-Universiade in Almaty Siebter über 1500 m und holte mit der Staffel die Goldmedaille.