u can only get shieldons in perl, platinum, but not diamond. u get it from a armour fossil. then take it to a building in orburgh right above the pokemart, poof! you've got yourself a shieldon
Get the Armor Fossil in the Underground, and have it restored at Oreburgh Mining Museum.