간단한 웹 서비스 (REST)를 읽고 C# 데스크톱 응용 프로그램에서 드롭 다운 상자를 채우려고합니다. 나는, C#에서 xml 문서를 데이터 테이블로 변환
<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>
및
다음 코드에서 나는 데이터 테이블에 XML 문서를 변환하기 위해 노력하고있어 내 웹 서비스 반환 XML에 따라 .NET 2.0을되어 사용하고
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;
}
마지막 세그먼트에서 내 드롭 다운 상자 (cmb 섹션)에 바인드하려고합니다.
DataTable t = sec.getSections();
cmbSections.DataSource = t;
cmbSections.DisplayMember = "name";
cmbSections.ValueMember = "id";
그러나 나는 다음과 같은 오류를 받고 있어요
Cannot bind to the new display member.
Parameter name: newDisplayMember
내가 뭘 내가 다음 코드와 작업있어 C#을 세계
getSections의 반환 줄에 중단 점을 배치하면 데이터 집합에서 무엇을 볼 수 있습니까? – sq33G
소스 xml에 대한 스키마가 있습니까? – curtisk
안녕하세요 Sq33G, 일부 값을 가져 오는 것 같아요,하지만 디버깅하는 방법을 몰라,하지만 내가 't.GetType();' {System.Data.DataTable} 출력으로있어, 내가 봐야 할 특별한 섹션이 있습니다, 대답을 주셔서 감사합니다 – sameera207