WPF bind datagrid with xml returned in web response

I am getting xml of this format in response from a web request, but i am unable to bind it whit data drid in wpf.

Here is my xml :

<population>
<name>Tram, Joshua </name>
  <id>83804</id>
  <hcp>Dr. Krueger</hcp>
  <symptoms>4</symptoms>
  <range>1/17/13 - 4/13/13</range>
  <last7>5</last7>
  <connect>41380</connect>
  <engage>5</engage>
  <daysin>160</daysin>
  <education>0.67</education>
  <recco>Encourage Education</recco>
  <name>Riess, Chuck </name>
  <id>73403</id>
  <hcp>Dr. Vockell</hcp>
  <symptoms>4</symptoms>
  <range>2/1/13 - 2/14/13</range>
  <last7>5</last7>
  <connect>41332</connect>
  <engage>5</engage>
  <daysin>179</daysin>
  <education>0.74</education>
  <recco>Encourage Tracking</recco>
  <name>Park, Teruyuki </name>
  <id>69235</id>
  <hcp>Dr. Smithen</hcp>
  <symptoms>3</symptoms>
  <range>4/3/13 - 4/13/13</range>
  <last7>5</last7>
  <connect>41384</connect>
  <engage>5</engage>
  <daysin>35</daysin>
  <education>0.15</education>
  <recco> </recco>
  </population>

and here is my code, i am storing it in dataset and binding with datagrid but it only shows on column not all.

WebRequest request = HttpWebRequest.Create(url);
WebResponse response = request.GetResponse();        

DataSet set = new DataSet();            

set.ReadXml(response.GetResponseStream());            

return set;

Answers


I solved my problem by iterating on elements in the xml and creating List of Class Objects this way :

public List<Population> GetData()
    {
        DataSet ds =null;

        List<Population> populationList = new List<Population>();

        string url = "http://www.lyfechannel.com/channels/WIN946/get_population.php";

        WebRequest request = HttpWebRequest.Create(url);

        WebResponse response = request.GetResponse();

        StreamReader reader = new StreamReader(response.GetResponseStream());

        XmlDocument doc = new XmlDocument();

        doc.LoadXml(reader.ReadToEnd());


        XmlNode rootNode = doc.SelectSingleNode("//population");

        XmlNodeList currentNodes = doc.SelectNodes("//name");

        var objPopulation = new Population[currentNodes.Count];

        if (currentNodes.Count != 0)
        {

            for (int i = 0; i < currentNodes.Count; i++)
            {
                objPopulation[i] = new Population();
                //objPopulation[i].Name = currentNodes[i].InnerText;

            }

        }


        XmlNodeList idNodeList = doc.SelectNodes("//id");

        if (idNodeList.Count != 0)
        {

            for (int i = 0; i < idNodeList.Count; i++)
            {
                objPopulation[i] = new Population();
                objPopulation[i].ID = idNodeList[i].InnerText;


                currentNodes = doc.SelectNodes("//name");


                if (currentNodes.Count != 0)
                {

                    for (int ij = 0; ij < currentNodes.Count; ij++)
                    {

                        objPopulation[ij].Name = currentNodes[ij].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//hcp");


                if (currentNodes.Count != 0)
                {

                    for (int j = 0; j < currentNodes.Count; j++)
                    {

                        objPopulation[j].HCP = currentNodes[j].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//symptoms");


                if (currentNodes.Count != 0)
                {

                    for (int k = 0; k < currentNodes.Count; k++)
                    {

                        objPopulation[k].Symptoms = currentNodes[k].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//range");


                if (currentNodes.Count != 0)
                {

                    for (int l = 0; l < currentNodes.Count; l++)
                    {

                        objPopulation[l].Range = currentNodes[l].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//last7");


                if (currentNodes.Count != 0)
                {

                    for (int m = 0; m < currentNodes.Count; m++)
                    {

                        objPopulation[m].Last7 = currentNodes[m].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//connect");


                if (currentNodes.Count != 0)
                {

                    for (int n = 0; n < currentNodes.Count; n++)
                    {

                        objPopulation[n].Connect = currentNodes[n].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//engage");


                if (currentNodes.Count != 0)
                {

                    for (int o = 0; o < currentNodes.Count; o++)
                    {

                        objPopulation[o].Engage = currentNodes[o].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//daysin");


                if (currentNodes.Count != 0)
                {

                    for (int p = 0; p < currentNodes.Count; p++)
                    {

                        objPopulation[p].DaysIn = currentNodes[p].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//education");


                if (currentNodes.Count != 0)
                {

                    for (int q = 0; q < currentNodes.Count; q++)
                    {

                        objPopulation[q].Education = currentNodes[q].InnerText;

                    }

                }


                currentNodes = doc.SelectNodes("//recco");


                if (currentNodes.Count != 0)
                {

                    for (int r = 0; r < currentNodes.Count; r++)
                    {

                        objPopulation[r].Recco = currentNodes[r].InnerText;

                    }

                }

                populationList.Add(objPopulation[i]);

            }

        }

        MyGrid.ItemsSource = populationList;


    }

and here is my Class code:

class Population
{

    public string Name { get; set; }
    public string ID { get; set; }
    public string HCP { get; set; }
    public string Symptoms { get; set; }
    public string Range { get; set; }
    public string Last7 { get; set; }
    public string Connect { get; set; }
    public string Engage { get; set; }
    public string DaysIn { get; set; }
    public string Education { get; set; }
    public string Recco { get; set; }

}

Need Your Help

REGEX-String and escaped quote

python regex

How to get what is between the quotes in the following two texts ?

Template __host__ __device__ calling host defined functions

cuda

During implementation of CUDA code I often need some utility functions, which will be called from device and also from host code. So I declare these functions as __host__ __device__. This is OK and

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.