2016-05-24 11 views
0

Ich arbeite an einer Winform-Anwendung, die Amazon Web Service verwenden. Ich habe Antrag gestellt, um Daten zu erhalten, die Antwort im XML-Objekt ist, aber ich weiß nicht, wie diese XML-Antwort mit datagridwiew zu binden, hier ist mein Code ..So binden Sie Datagridview in C# mit XML-Objekt

private void btnRun_Click(object sender, EventArgs e) 
     { 
      if (CheckForInternetConnection()) 
       try 
       { 
        // Instantiate Amazon ProductAdvertisingAPI client 
        amazonClient = new AWSECommerceServicePortTypeClient(); 

        // prepare an ItemSearch request 
        request = new ItemSearchRequest(); 

        request.SearchIndex = "Books"; 
        request.Title = "The Life and Love of the Sea"; 
        request.ResponseGroup = new string[] { "Small" }; 

        itemSearch = new ItemSearch(); 
        itemSearch.Request = new ItemSearchRequest[] { request }; 
        itemSearch.AWSAccessKeyId = ConfigurationManager.AppSettings["accessKeyId"]; 
        itemSearch.AssociateTag = "AssociationTag"; 

        // send the ItemSearch request 
        response = amazonClient.ItemSearch(itemSearch); 
        // here i want to bind the datagridview with this xml response. 

       } 
       catch (Exception ex) 
       { 
        MessageBox.Show(ex.Message); 
       } 
      else 
       MessageBox.Show("No Internet Connection found"); 
     } 

Antwort

0

Zuerst Sie eine Datatable erstellen müssen von Ihrem XML-Daten und binden Sie dann die DataTable an Ihre GridView.

Dies ist der Code, den ich verwende ein Datatable aus einer XML-Datei zu erstellen:

//This method return a dataTable created with your xml data 
public static DataTable getDataByRessource() 
    { 
     //Create the new xml document 
     XmlDocument xmlDoc = new XmlDocument(); 

     //Here you can load your file , i load it with the resources properties of my project 
     xmlDoc.LoadXml(Properties.Resources.TRADUCTION); 
     //This dataSet will contains your dataTable with your data 
     DataSet ds = new DataSet(); 
     //Parse the xml to a dataTable 
     XmlNodeReader xnr = new XmlNodeReader(xmlDoc); 
     ds.ReadXml(xnr); 

     //return your dataTable 
     return ds.Tables[0]; 
    } 

Jetzt nur binden Sie die Datasource des Gridview auf diese Datentabelle haben.

EDIT:

Werfen Sie einen Blick hier, es ist wahrscheinlich das, was Sie erreichen wollen: http://www.midniteblog.com/?p=20

+0

ich nicht wirklich XML-Datei haben, ich habe XML-Objekt .... –

+0

Welche Art von XML-Objekt genau? (C# Klasse oder gleichwertig) – Furtiro

+0

Entschuldigung, ich bin mir nicht sicher –

Verwandte Themen