I need to generate spaces in a HTML file.
is a non-breaking space. Alternatively I guess you could use a <br />
(XHTML there) tag just to generate a new line.
Use either  
or <pre>
tags. The <pre>
tag preserves all spaces, tabs and newlines.
EDIT
Regarding your comment about its use, for padding, you may want to look at css padding
I hardly ever use
margin
and padding
properties work well for spacing and <br />
for newlines. (I don't use <br />
too frequently either.)
It all depends on the context, you can use letter-spacing, word-spacing or for example padding for surrounding span's.
Without more information it´s impossible to give a good advice.
Edit: if it´s for use in texts / in between words, I´d go for the word-spacing and perhaps letter-spacing.
Yacoby is right. But i have something different:
<head>
<style type="text/css">
.left-space{ margin-left: 10px }
</style>
</head>
<body>
<div>
<p>This is a test line.<span class="left-space">This is a line with space before it.</span></p>
</div>
</body>
And by the way you should replace with to conform to XHTML.