That's how XML works, I guess. The same thing happens in SQL Server:
DECLARE @x xml = '<Space> </Space>'
SELECT @x
This results in:
<Space />
If you want a space there, you to enticise it:
DECLARE @x xml = '<Space> </Space>'
SELECT @x
This gives you:
<Space> </Space>
But then this will become <Space /> in the next round.
I think a better solution is to use a hard space (char(160):
DECLARE @x xml = '<Space> </Space>'
SELECT @x