public static void Main()
var document = new XmlDocument();
document.CreateXmlDeclaration("1.0", "utf-8", null);
var foo = document.CreateElement("foo");
document.AppendChild(foo);
foo.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");
var bar = document.CreateElement("bar");
bar.SetAttribute("nil", "http://www.w3.org/2001/XMLSchema-instance", "true");
using var stream = new MemoryStream();
using var xmlWriter = XmlWriter.Create(stream, new XmlWriterSettings() { OmitXmlDeclaration = false, Indent = true });
document.Save(xmlWriter);
string result = Encoding.UTF8.GetString(stream.ToArray());
Console.WriteLine(result);