Since you are parsing the address, it is a better approach to handle the parsing in the view, rather than as a signal.
Signals are normal used for minor updates to other models. .
So, your code can be:
profile = get_object_or_404(UserProfile, user=instance)
profile.province = xml.duzeltilmisil #this comes from a web service
//parse the address here, and then save the models
profile.save()