Xenon reacts directly with fluorine because fluorine is a very powerful oxidizing agent (hence it gets reduced and it gains an electron from Xenon). Xenon has larger radii; therefore the electron attraction to the nucleus is weaker in comparison to the smaller noble gases. Fluorine on the other hand is very tiny and highly electronegative, so it would steal an electron from fluorine, forming a compound."
same reason with oxygen because oxygen and fluorine are most electronegative elements.