Ellie and I were at a family member's house and so was the youngest member of our family (she is 4). Ellie has never really shown any attitude around this child except for maybe protecting her or if I would hold the child as a baby. So, I was holding Ellie on the couch and the child comes up and starts playing barbies by us and trying to pet Ellie with barbies arms.

I didn't let Ellie down because she would've chased the cats and the other dog and the kid would have chased Ellie.

I was still holding her when a big dog came up and started sniffing her (which she will have no part of) and then at the same time the child starts barking and panting in Ellie's face (she likes to "play doggie"). Ellie growled and snapped but I let it go because the other dog was right there bothering her. Then I was holding Ellie by the harness (no other dog in site) and child comes up again and starts panting and barking in Ellie's face again. Ellie snapped again and I had to punish her (which did no good because everytime the child wanted to pet her after that she would growl and I had to hold her mouth). I know Ellie isn't very well trained so that is half of it but kids need to jsut sit in look in my opinion. What should I have done differently? Now I have to be concerned that Ellie has child aggression.

Should dogs be able to take that from kids? Sorry for the long post. I am just a little upset.
PS... this kid jumps on, lays on, elbows, pokes, prods, yells and pulls on her own dog.