Umwandlung von xml-Dokument-Daten-Tabelle in C#

Ich versuche zu Lesen, eine einfache webservice (REST), und füllen Sie eine Dropdown-box in meinem C# - desktop-Anwendung. Ich, m verwenden .net 2.0

Folgende ist meine web-service xml zurückgeben

<sections type="array">
 <section>
  <name>Standing</name>
  <created-at type="datetime">2011-10-23T23:17:54+05:30</created-at>
  <updated-at type="datetime">2011-10-23T23:17:54+05:30</updated-at>
  <id type="integer">1</id>
  <status type="integer">1</status>
  <service-charge type="float">0.0</service-charge>
 </section>
 <section>
  <name>VIP</name>
  <created-at type="datetime">2011-10-30T11:27:05+05:30</created-at>
  <updated-at type="datetime">2011-10-30T11:27:05+05:30</updated-at>
  <id type="integer">2</id>
  <status type="integer">1</status>
  <service-charge type="float">10.0</service-charge>
 </section>

und im folgenden code versuche ich, zu konvertieren und das xml-Dokument eine Tabelle mit Daten

  public DataTable getSections() {
    String url = "http://<site_url>/sections.xml";
    DataTable t = new DataTable();
    HttpHandler handle = new HttpHandler();
    StreamReader sr = handle.executeGET(url);
    String xml = "";
    while (sr.Peek() >= 0)
    {
        xml  += sr.ReadLine();
    }
    XmlDataDocument doc = new XmlDataDocument();
    doc.LoadXml(xml);
    XmlReader xmlReader = new XmlNodeReader(doc);
    DataSet ds = new DataSet();
    ds.ReadXml(xmlReader);
    t = ds.Tables[0];
    return t;
}

und im letzten Abschnitt versuche ich, es zu binden, um mein Dropdown-box (cmbSections)

DataTable t = sec.getSections();
cmbSections.DataSource = t;
cmbSections.DisplayMember = "name";
cmbSections.ValueMember = "id";

Aber ich bin immer der folgende Fehler

Cannot bind to the new display member.
Parameter name: newDisplayMember

Was bin ich hier, bitte helfen, ich bin neu in der C# Welt

Wenn Sie einen Haltepunkt an der Rückleitung getSections, was sehen Sie in das DataSet?
Haben Sie ein schema für die xml-Quelle?
Hi Sq33G, ich glaube, ich bin immer einige Werte, aber nicht wissen, wie zu Debuggen, Aber wenn ich verwende 't werden.GetType();' ich bin immer {System.Daten.DataTable} wie die Ausgabe, gibt es einen speziellen Abschnitt, ich sollte schauen, danke für die Antwort
Hi curtisk, ich bin mir nicht sicher, was Sie Fragen-schema für die xml-Quelle, könnte u bitte erklären, danke
ja, natürlich. GetType() ist geerbt von object. Sie müssen lernen und verstehen der API, mit dem Sie arbeiten. Blick auf die Rows und Columns Sammlungen auf der DataTable zu beantworten @sq33G Frage.

InformationsquelleAutor sameera207 | 2011-12-18

Schreibe einen Kommentar