Q:

Data at the root level is invalid - XML parsing

I am very new to programming and not sure where I am going wrong. I have read the other threads with similar error, but I think my problem is even basic.
I get a string generated which contains XML, but it doesnt start with an XML. When I try to parse that string I get the above error. 
Is there a way of getting rid of the text and save the text from where the XML starts?
My string:
{"Id":"6a76f781-f592-4320-a116-6ab289505423","Name":"Test - A","AttachmentRequired":false,"FormXml":"
<?xml version=\"1.0\" encoding=\"utf-16\"?>

A:

The easiest way would be to use a JSON parser like Newtonsoft:
public class Data
{
    public string Id;
    public string Name;
    public bool AttachmentRequired;
    public string FormXml;

}

var o = JsonConvert.DeserializeObject<Data>(json);

var xml = o.FormXml;

Here is the Nuget package to Newtonsoft which I demonstrated above: 
https://www.nuget.org/packages/Newtonsoft.Json/
If you absolutely can't use an external library to transform it into a CLR object, here is how you would do it through string manipulation: 
var str = @"{ ""Id"":""6a76f781-f592-4320-a116-6ab289505423"",""Name"":""Test - A"",""AttachmentRequired"":false,""FormXml"":""<?xml version=\""1.0\"" encoding=\""utf-16\""?>""}";

var parts = str.Split(':');

var last = parts[parts.Length -1];

var xml = last.Replace("}","").Replace("\"<","<").Replace(">\"",">");

