She quickly realized he was the stranger who had appeared in her dream.

Literal

She [topic-は] quickly he [subject-が] dream [genitive-の] inside [in-に] appeared unfamiliar person being [thing-こと] [at-に] noticed.

A textbook case of nested complexity. The matrix verb 気づく ('notice / realize') takes こと-nominalized content marked by に: ことに気づく ('realize that...'). Inside that nominalized clause sits a relative clause: 夢の中に出てきた modifies 見知らぬ人 ('the unfamiliar person who appeared in [her] dream'). The relative clause itself uses 出てくる ('come out / appear') with the inward ~てくる pointing the appearance toward her perspective. 見知らぬ is a classical attributive form: 見知る ('come to know by sight') + classical negative ~ぬ — meaning 'unfamiliar / not seen-known'. Modern Japanese mostly uses ~ない for negation, but ~ぬ survives in fixed attributive forms.