C# LINQ TO XML - Remove “[]” characters from the DTD header
http://stackoverflow.com/questions/12358061/c-sharp-linq-to-xml-remove-characters-from-the-dtd-header
public static void FixDocumentType(this XmlDocument xml)
{
if (xml?.DocumentType == null)
return;
var name = xml.DocumentType.Name;
var publicId = xml.DocumentType.PublicId;
var systemId = xml.DocumentType.SystemId;
var parent = xml.DocumentType.ParentNode;
var documentTypeWithNullInternalSubset = xml.CreateDocumentType(name, publicId, systemId, null);
if (parent == null || xml.DocumentType == null)
return;
parent.ReplaceChild(documentTypeWithNullInternalSubset, xml.DocumentType);
}