You can use a combination of XmlDocument and XPath.
On line 1 the string is converted to escape the quotes. Then the XMLDocument class is instantiated and the method LoadXml is used to load the string. This can be changed to load a file instead by using xml.Load([path to file]).
Once the document is loaded the Test elements can be selected with "Create/Test" xpath. Finally we loop through each of the nodes and output the data required.
I've done this in a c# console app and left out the boilerplate.
var xmlString = "<Create><Test Id=\"01\" Marks=\"40\" Rank=\"4\"/><Test Id=\"02\" Marks=\"60\" Rank=\"5\"/><Test Id=\"03\" Marks=\"80\" Rank=\"2\"/></Create>";
var xml = new XmlDocument();
xml.LoadXml(xmlString);
var nodes = xml.SelectNodes("Create/Test");
foreach (XmlNode node in nodes)
{
Console.WriteLine(string.Format("Id: {0}; Marks: {1}; Rank: {2}", node.Attributes["Id"].Value, node.Attributes["Marks"].Value, node.Attributes["Rank"].Value));
}
W3C schools have an XPath tutorial which can be found here: https://www.w3schools.com/xml/xpath_intro.asp
XMLDocument class documentation can be found here: https://msdn.microsoft.com/en-us/library/system.xml.xmldocument(v=vs.110).aspx