St Gallen Police confirmed the attack today.
The attack happened on the line between Buchs and Sennwald at around 2.20pm, before the train reached Salez station.
A man on the train used flammable liquids to attack men, women and children in the horror incident near Salez in St Gallen Canton, close to Liechtenstein.
The suspected attacker was taken to hospital after the incident near Salez in St Gallen Canton, Swiss media has said.
St. Gallen cantonal polices spokesman Bruno Metzger said: “Among the injured is at least one child.”
Police later said three 17-year-olds were among the injured, as well as a 50-year-old man, as well as the six-year-old child.
Two other victims were 34 and 43.
Several dozen passengers were on board at the time of the attack.