Q:

Make my XML to string output look presentable

I'm working with a 3rd party application that takes input in via XML, and then returns the input back out in XML, I'm looking for a way to format the information to display it nicely in a richtextbox. 
<Solution>
  <ID>1</ID>
  <Property>
    <Name>DriverSheave</Name>
    <Value>1VP34</Value>
  </Property>
  <Property>
    <Name>DriverBushing</Name>
    <Value>
    </Value>
  </Property>
  <Property>
    <Name>DrivenSheave</Name>
    <Value>AK49</Value>

this is some sample xml that i would receive as an output from the 3rd party app, What I'm currently doing is this. 
richTextBox1.Text = Configurator.Results.InnerText.ToString();

which gives me results like this. 

1DriverSheave3MVP55B69DriverBushingDrivenSheave3MVB200RDrivenBushingR1BeltB225BeltQty3

essentially id like to know the best way to move these around, and make the output formatted nicely. so im not asking that you format this for me, but rather let me know the proper way to go about formatting this. 
id like it to look similar to

A:

Refer to the below code:
using System.XML.Linq;

class XMLParseProgram
{
public DataTable ReadXML(string strXML)
{
  XDocument xdoc = XDocument.Load(strXML);

  var property= from props in xdoc.Element("Solution").Elements("Property").ToList().ToList();

if (property!= null)
            {

                DataTable dtItem = new DataTable();
                dtItem.Columns.Add("Name");
                dtItem.Columns.Add("Value");

foreach (var itemDetail in property.ElementAt(0))
                {
                    dtItem.Rows.Add();

                    if (itemDetail.Descendants("Name").Any())
                        dtItem.Rows[count]["Name"] = itemDetail.Element("Name").Value.ToString();

                    if (itemDetail.Descendants("Value").Any())
                        dtItem.Rows[count]["Value"] = itemDetail.Element("Value").Value.ToString();
}
}
}

}

You can use the DataTable to generate the string in your program the way you want.

