You are required to present your users with a tabular listing, each line describing a business record (i.e., sales contact) with aligned columns for each field (i.e., name, title, company, phone number), and your application has these business records available in XML form (you may be receiving them via Web service interface or from a message queue). There is the option of updating these business records when it is necessary to store or forward the XML document someplace else if your application acts within a Chain of Responsibility pattern of successive, value-adding processes.
Read the XML document from a file or in-memory XmlReader into an empty ADO.NET DataSet using its ReadXml method. The XML document must be mapped into a schema compatible with ADO.NET DataSets. If necessary, you can transform your XML document using an XslCompiledTransform and an XSLT style sheet to resolve differences so the mapping can be done successfully. This infers the schema for a representative DataTable, and fills the rows with values from your XML document. You can then proceed to data bind the WebGrid to this ADO.NET DataSet as described in the binding grids to DataSets scenario.
Two-way binding (for additions, updates and deletions) can be handled by coordinating between the WebGrid and the ADO.NET DataSet using the AddRow, UpdateRow, and DeleteRow events. When the results are needed in XML form use the ADO.NET DataSet's WriteXml method. If an XSLT style sheet was necessary to perform the mapping from your original schema into one compatible with an ADO.NET DataSet, then an inverse transformation must be performed to produce the modified XML document.