I was just on the receiving end of this, so I'll try to answer it to the best of my ability. Honestly, you have to try to filter out the rudeness/condescension and tune into the core issue/piece of advice. Often, the person is being rude because the issue is important to them or it is making them feel emotional or defensive, which is normal when confronting someone. Granted, some do it with more tact and empathy then others but then again, some don't. Take the good with the bad, let the bad be a reflection on their character if you will but understand that you likely can't change that about them. Maybe politely point it out to them if you think the timing is right and won't make them feel like you're minimizing their point. But mostly focus on the good, and use that to try to improve yourself/grow as a person.