Police say Troy Perrin is charged with attempted murder, assault with a weapon and abduction.
He has also been charged with six counts of breaching court orders prohibiting him from having contact with the woman or possessing weapons.
Police say the 23-year-old woman managed to call 911 after she was stabbed multiple times and her 18-month-old son was snatched Monday morning.
The suspect was found hiding in a nearby backyard with the baby.
Police say the seriously injured woman is recovering in hospital and her son is OK.
Also on HuffPost