public async Task WriteXmlTest() { var root = new XmlChaserNode { Caption = "Root Node", Probability = 1 }; root.Add(new XmlChaserNode { Caption = "Hello", Probability = 0.5 }); root.Add(new XmlChaserNode { Caption = "World", Probability = 0.45 }); var builder = new StringBuilder(); var settings = new XmlWriterSettings { Indent = true }; var writer = XmlWriter.Create(builder, settings); root.WriteXml(writer); writer.Flush(); var xml = builder.ToString(); Debug.WriteLine(xml); var readerSettings = new XmlReaderSettings { }; var stream = new StringReader(xml); var reader = XmlReader.Create(stream, readerSettings); var copyRoot = XmlChaserNode.ReadXml(reader); await CheckSameAsync(root, copyRoot); }