How do you catch a Roselia in pokemon heartgold?

You can't. You have to trade from someone from Pokemon Diamond to get it. If you can trade from Diamond...