Если вам просто нужно сгенерировать XML (без разбора или редактирования), самый быстрый способ сделать это - использовать XmlWriter
(это более элегантно и быстрее, чем ваш второй пример с использованием строк и гораздо менее подвержен ошибкам, потому что вы не нужно заботиться о том, чтобы ваш документ был правильно сформирован):
// Create an XmlWriterSettings object with the correct options.
var settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = ("\t");
settings.OmitXmlDeclaration = true;
// Create the XmlWriter object and write some content.
using (var writer = XmlWriter.Create("data.xml", settings))
{
writer.WriteStartElement("book");
writer.WriteElementString("item", "tesing");
writer.WriteEndElement();
writer.Flush();
}
Если у вас уже есть объектная модель для сериализации, вы можете подумать об использовании XmlSerializer, который, однако, - по крайней мере из моего опыта - намного медленнее, чем XmlWriter, и его легко использовать только на простых объектных моделях.