Prior to turning professional, Xu began playing in minor-ranking Asian Players Tour Championship from age 15, and his first appearance at a ranking event was in the wildcard round of the 2014 Shanghai Masters where he was whitewashed 5-0 by Ryan Day. He also made a wildcard appearance at the 2016 World Open where he defeated veteran James Wattana 5-3 or progress to the last 64, where he lost in the next round against Daniel Wells. He made a further appearance at the 2016 Shanghai Masters wildcard round where he lost 5–1 to Michael Holt. He then won two matches at the 2016 International Championship, defeating professionals Wang Yuchen at the wildcard stage, and two-time world champion Mark Williams in the last 64 before losing to Wattana in the last 32. He lost out in the first round of qualifying for the 2017 World Snooker Championship, losing 10–5 to Rod Lawler.