I have an XML file begining like this:
Why bothering to read the file as a byte sequence and then converting it to string while it is an xml file? Just leave the framework do the loading for you and cope with the encodings:
var xml = XDocument.Load("test.xml");