who plays david's wife in once upon a time
David Nolan (Once Upon a Time) David Nolan, also known as Prince Charming, is a fictional character in ABC's television series Once Upon a Time. He is portrayed by Josh Dallas, who also happens to be married to series co-star Ginnifer Goodwin, who plays David's wife Snow White/Mary Margaret Blanchard.