It's lovely you're compassionate, it's lovely you care but ... honestly, it's not OK that she's made you her emotional punchbag.
I know you want to help her but, really, she's broken your friendship - and she has to fix it, not you.
If you try, I guarantee you are setting up a dynamic where you get dumped on and emotionally abused.
Adults deal with their emotional pain, their disappointments, the fact life doesn't rain down granted wishes and let you walk in rose petals the whole time. They don't look around for someone who cares for them and take out their sadness on someone they judge is caring enough to take it.
What would you say if your child was in a relationship like that? You'd hate that for them, wouldn't you?
Honestly, you clearly have a good heart and lots of care for others - give that to people who respond in the same way. Don't throw it away on someone with an essentially cruel nature.
And you're bound to say she's been a good friend but look at yourself: life hasn't been easy for you - and you've responded by being stronger, more caring, more loving.
Your 'friend'? She's responded by trying to inflict hurt on you and bring pain and destruction into your life.
That is not the action of a decent person.