華元
紀元前595年、楚の申舟が宋国内を無断で通過したので華元はこれを捕えた。 華元は「楚が通行の挨拶をしないのは、宋を自国の領土として扱っているからだ。自国の領土して扱われれば国が滅びたのと同じであるし、使者を捕えたことが楚王に知られれば宋は討たれ、どちらにせよ宋は滅びるだろう」と言って申舟を殺した。
その年の内に、楚の荘王は宋都商丘を包囲し、7ヶ月に及んだ。宋では餓死者が続出したが、文公と華元のもとでよくまとまり、なかなか落城しなかった。すると荘王は宋都の郊外に家を作って耕作し、持久戦の構えをみせた。
華元はそれを見て密かに宋都を抜け出して、楚将の子反に会いにいった。華元は子反の陣幕に忍び込み、寝台の子反を揺すり起こして「宋では今や子供を交換して食べあい、死者の骨を砕いて炊事している有様です。どうか三十里退却してください。そうすればどのような盟約にも応じます」と言った。不意を突かれた子反はこれを了承した。
華元は自ら楚の人質となったが、文公はすぐに公子囲亀を代わりとして楚に送り、華元を取り返した。