There is an open source X12 parser (OopFactory X12 Parser: https://x12parser.codeplex.com) that does this for you.
To convert any X12 document to Xml:
FileStream fstream = new FileStream("Sample1.txt", FileMode.Open, FileAccess.Read);
var parser = new X12Parser();
Interchange interchange = parser.Parse(fstream);
string xml = interchange.Serialize();
To convert any X12 document to Html:
var htmlService = new X12HtmlTransformationService(new X12EdiParsingService(suppressComments: false));
Stream ediFile = new FileStream("Sample.txt", FileMode.Open, FileAccess.Read);
string html = htmlService.Transform(new StreamReader(ediFile).ReadToEnd());
More details here: https://x12parser.codeplex.com/wikipage?title=Parsing%20an%20837%20Transaction&referringTitle=Documentation
To load an X12 271 response into a .Net object, you can use:
FileStream fstream = new FileStream("Sample1.txt", FileMode.Open, FileAccess.Read);
var service = new EligibilityTransformationService();
EligibilityBenefitDocument eligibilityBenefitDocument = service.Transform271ToBenefitResponse(fstream);