That could be for a whole raft of reasons.
Jack can give you better help that I but maybe if you post what you've got so far there will be even more help. That's the advantage of a forum, more eyes see your messages means more chances that someone will have good answers.
I don't have XBee but I do have 3.3V devices and had to figure out that serial works opposite the way you'd expect which led to a 1+1=2 moment for me, it does that to cut down on false signals. Serial "1" bits are sent by pulling the line LOW, not HIGH. The line is kept HIGH so it doesn't float and the LOW's are too short for much of that in normal use.
The 5V Arduino TX line has to be leveled down to 3.3V going to RX on the 3.3V device.
TX from that 3.3V device is enough to work directly on the 5V RX.
TX works as OUTPUT. RX works as INPUT. INPUT doesn't put volts on the line, OUTPUT does.
Going from 5V to 3.3V you need to protect the 3.3V RX pin and the 3.3V power line as well.
For XBee and my 3.3V serial devices that seems about it, and my Arduinos have clean 3.3V power.
The circuit that Jack shows has DOUT (data out) instead of "TX" and DIN (data in) instead of "RX". Arduino RXD connects to DOUT and Arduino TXD connects to DIN the same as normally you connect RX of one device to TX of the other to make a serial connection.
So you look at the diagram and see that Arduino RX connects directly to XBee DOUT.
But Arduino TX that carries 5V, well the solution he shows is beautiful. The diode keeps the 5V out of the XBee so the XBee only sees the 3.3V on its power pin and through that 4.7k resistor when the line is 5V HIGH. When the Arduino TX does send a "1" bit, the line goes LOW and the 3.3V at the XBee end flows right through the diode to the Arduino TX pin leaving the XBee DIN pin seeing 0V LOW instead of 3.3V HIGH, exactly what it would see if the Arduino transmitted 3.3V on a direct wire. The circuit is superior because current only flows for those short periods when "1" bits are sent while with a voltage divider, current flows even when no message is sent.