Yang Xu would make his debut for Liaoning Whowin on 16 April 2005 in a league match against Shanghai Shenhua which they lost 1-0. Despite this loss, his performance was good enough to see him played again in the next league game against Wuhan Huanghelou; however, this was to again end in a 1-0 loss. Liaoning's performances would improve throughout the season and Yang would eventually score his first league goal against Shenzhen Jianlibao on 15 May 2005 in a 3-1 league win. By the end of the 2005 season, Yang would eventually score three league goals in 11 appearances and see his club finish as tenth place in the league.
The following season would see Yang continue to establish himself with the squad by making a further 20 league appearances and scoring three goals; however, most of his appearances came from the bench. By the 2008 season, he was still a squad player trying to establish himself as the main striker within the team; however, he was unable to help Liaoning avoid relegation at the end of the season. Staying with the club, Yang was promoted as their first choice striker at the beginning of the 2009 league season and he would repay them with 15 league goals in 22 appearances, making him the second best goalscorer in the league. His goals would aid Liaoning to win the division title and immediate promotion back into the Super League.
On 27 February 2013, Yang left Liaoning and signed a contract with fellow Chinese Super League side Shandong Luneng. However, after failing to settle in with the first team, Yang was loaned out to Changchun Yatai in July 2014 for the rest of the 2014 season.
After an impressive start to the 2009 season, Yang was called up to the Chinese national team despite playing for a team in the second tier. He would be tried out in friendlies before he was given his chance to play in a qualifying match for the AFC Asian Cup in a 2-1 win against Vietnam on 17 January 2010 where he also scored his debut goal. On 30 March 2011, he scored twice in a 3-0 win against Honduras, and on 23 July 2011, he scored his first international hat-trick in a 7-2 win against Laos.