Israel struck one of the main hospitals in the Gaza Strip with a missile and then fired another as journalists and rescue workers rushed to the scene, killing at least 20 people and wounding scores more, according to health officials.