What does this method do, and why is it necessary?
The "go to definition" option leads me to a function containing all comments, here's what it says about its purpose
//Writes the XML declaration with the version "1.0" and the standalone attribute.
To start with, it belongs to
XmlWriter, not really
XmlTextWriter. As John Saunders says, the preferred way of creating an
XmlWriter is via
The point of
WriteStartDocument is to create this in the output stream:
<?xml version="1.0" ?>
This isn't written when you just create the
XmlWriter. It will also potentially specify the encoding. (XML defaults to UTF-8 or UTF-16 if an encoding isn't specified.)
As for whether you need it - XML documents don't have to have an XML declaration, but they "should" according to the spec (i.e. it's best practice).