Police have launched a manhunt for the assailant, a middle-aged man, state news agency Xinhua said, citing the public security bureau in Lingshan county in the Guangxi region. Xinhua did not give details for the man’s motive.
The man attacked the children as they were on their way to school, Xinhua said. Three of them died at the scene and one died later at a nearby hospital.
The attack comes less than a month after a man killed three children and injured several at a primary school in China.
Violent crime is rare in China compared with many other countries but there have been a series of attacks on schools and children in recent years.
The attacks have led to much soul-searching and calls for measures to improve security at schools in a country were many couples only have one child.
In May, a knife-wielding man stabbed and injured eight students in a primary school in another city in Hubei. In December 2012, a man barged into a village primary school in the central province of Henan and stabbed and injured 23 children.
School guards in China are often not equipped or trained to stop such attacks. (Reuters)