Type Reason InvalidOperationException The XmlTextWriter.WriteState is not WriteState.Start.
In the dnprdnext release, the recommended practice is to create System.Xml.XmlWriter instances using the erload:System.Xml.XmlWriter.Create method and the System.Xml.XmlWriterSettings class. This allows you to take full advantage of all the new features introduced in this release. For more information, see Creating XML Writers.
The encoding level of the document is determined by how the writer is implemented. For example, if an System.Text.Encoding object is specified in the XmlTextWriter constructor, this determines the value of the encoding attribute. This method does not create a standalone attribute.
When WriteStartDocument is called the writer validates that what you are writing is a well-formed XML document. For example, it checks that the XML declaration is the first node, that one and only one root-level element exists and so on. If this method is not called, the writer assumes an XML fragment is being written and applies no root level rules.
If WriteStartDocument has been called and then the XmlTextWriter.WriteProcessingInstruction(string, string) method is used to create another XML declaration, an exception is thrown.