On 11 May 2013, Xu was promoted to Atlético Madrid B's squad and made his debut for the club on 12 May 2013 in a 1–0 loss against CD Marino, coming on as a substitute for Vicente Romero in the 66th minute.
[1][2] He made his debut for Atlético Madrid C on 25 August 2013 in a 2–2 draw against AD Parla, coming on as a substitute for Samuel Villa in the 71st minute.
[11] On 9 January 2022, he started in a 1-0 win against Shanghai Port in the 2021 Chinese FA Cup final, completing a domestic double.
[12] He would make his debut for the club in a league game on 4 June 2022 against Wuhan Yangtze River in a 1–0 defeat, where he also received his first red card in his career.
[14] On 29 October 2023, Xu won his fifth league title and first one with Shanghai Port after a 1–1 home draw against direct competitor and his former club Shandong Taishan.