using (var stream = new FileStream(path, FileMode.Create, FileAccess.Write))
using (var xml = XmlWriter.Create(stream, new XmlWriterSettings { NamespaceHandling = NamespaceHandling.OmitDuplicates, Encoding = Encoding.UTF8}))
using (var writer = XmlDictionaryWriter.CreateDictionaryWriter(xml))
{
writer.WriteStartDocument();
var serializer = new DataContractSerializer(typeof(SerializableDeclarationTree));
serializer.WriteObject(writer, tree);
}