It is because of & in the company name. When the string is being loaded in the XMLDocument it throws the error.
You need to encode it before loading it up. Following should do:
StringReader strRdr = new StringReader("<Details CompanyName=\"Outlook & Outlook Express\" ></Details>");
If needed, decode it back when needed.