Don't be so hard on yourself or your dd. My son will be 6 in a few days and this is the first year he understands being generous to strangers. We do a giving tree at my church where we get gifts for parishioner's children who can't afford to get their kids anything. They make lists, we buy gifts and wrapping paper that get handed over to the parents so they can wrap the gifts for Christmas morning.
When my son asked, doesnt santa get them gifts I responded by explaining that he gets tons of gifts from all the people who love him, including santa. These parents aren't able to give their kids gifts so we buy the gifts so the parents have something to give to their loved ones. It finally made sense to him because he loves giving things to people he loves. I imagine your dd will get it eventually.