<p>There seem to be many options to create an XML document in .NET. What's the best approach?</p>

I would personally use LINQ to XML if I possibly could. It's
much
nicer than the DOM API. Of course, it does rely on you using .NET 3.5...
Note that your String.Format solution breaks down if you have any text which would need escaping. Admittedly I can't think of any car makes and models including
```
&
```
or
```
<
```
etc, but in a more general case it's a real issue.