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.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausweitung der Methode zur Unterstützung der Umwandlung von Xin Datatable. Sie können diese Methode, um Ihre utility-Klassen. Stellen Sie sicher, dass die Klasse ist statisch.
Wie zu verwenden
InformationsquelleAutor Pravin Pawar
Einfachen Weg, um konvertieren von XML in DataSet:
für die korrekte Konvertierung, ersetzen Sie Ihren Typ DataSet statt:
DataSet dstest = new DataSet();
😉
danke, dir Recht.
InformationsquelleAutor Zolfaghari
Ich es geschafft habe mit dem folgenden code, aber ich bin nicht beenden sicher, ob dies der richtige Weg, es zu tun
(Diese analysieren, die über den gleichen xml)
Danke für die Kommentare 😀
Ihre wertvollen Kommentare sind immer willkommen
InformationsquelleAutor sameera207