The tragic attack occurred outside a middle school in Mizhi County in Shaanxi province after students had been dismissed for the day.
The Shaanxi City Express newspaper showed pictures on its microblog of children on the ground covered in blood, and the suspect being lead away by police.
And another man killed three students at a school in 2014 before jumping off a building.
The suspect was apparently seeking revenge for having been picked on, the Mizhi government's official microblog said on Saturday. At least 25 children died and more than 100 were injured in attacks at Chinese schools between 2010 and 2012, the network said.
Authorities have not verified the ages of the victims, but middle school children in China are typically between the ages of 12 and 15, according to reports.
A 28-year-old man surnamed Zhao from Zhaojiashan village in Mizhi County was arrested. Police said five girls and two boys were killed in the attack. Last February, a man stabbed a woman to death and injured 12 other people at a shopping mall in Beijing.
It's being called one of the deadliest massacres in China in recent years.