The attack took place on Friday at the entrance to the Chenpeng Village Primary School in Guangshan county.
“Twenty-two elementary school students were stabbed, so was an adult villager,” AFP quoted a police spokesman from Guangshan as saying.
The spokesman identified the attacker as 36-year-old villager Min Yingjun, currently in police custody.
Over the past two years, there have been several violent attacks against children in China.
In August, a knife-wielding man stabbed two students in a middle school in Nanchang, in southern China.
In 2010, 15 children were killed in five incidents. Murderers can receive the death penalty in China.