You can't. You have to trade from someone from Pokemon Diamond to get it. If you can trade from Diamond...
you have to trade it from diamond to soul silver and you can't actually catch Roselia wild in Pokemon soul silver.
you cant catch roselia in emerald, but I'm pretty sure you can catch it in Sapphire, so just trade it over
Roselia only evolves in Pokemon platinum, diamond, and pearl Roselia evolves into roserade if you use a sun stone on it
Route 208 209 210
You can't. You have to trade from someone from Pokemon Diamond to get it. If you can trade from Diamond...
catch a Roselia then evolve it with a leaf stone.
you have to trade it from diamond to soul silver and you can't actually catch Roselia wild in Pokemon soul silver.
You can get a Roserade in Pokemon Diamond by evolving Roselia using a Shiny Stone. You can catch Roselia on routes 212, 221, 224, 225, or 229; or get it by evolving a Budew (through friendship), you can get Budew on routes 204 or 212, or Eterna Forest.
Roselia
Catch a Roselia and evolve it
Route 117
you cant catch roselia in emerald, but I'm pretty sure you can catch it in Sapphire, so just trade it over
Pokemon Platinum, diamond and pearl. and black and white 5
Roselia to Roserade and Togetic to Togekiss
Roselia only evolves in Pokemon platinum, diamond, and pearl Roselia evolves into roserade if you use a sun stone on it
Route 208 209 210