0

そこで、netbeans を使用して単純な RESTful サービスを作成し、localhost で XML ファイルを生成しました。http://localhost:8080/testXML/webresources/entities.categoryid

このページ内には、単純な xml ファイル形式のみがあります。

<categoryids>
  <categoryid>
    <CategoryID>id1111</CategoryID>
    <CategoryName>Study</CategoryName>
  </categoryid>
</categoryids>

C# を使用して xml ファイルを読み取り、それらをデータセットに入れ、最後に datagridview に入れています。どうすればいいですか?ローカルで動作します (sample.xml)

ds.ReadXml(Application.StartupPath + "\\XML\\sample.xml", XmlReadMode.Auto);
dv = ds.Tables[0].DefaultView; 

ただし、ローカルホストでは機能しません

ds.ReadXml("http://localhost:8080/testXML/webresources/entities.categoryid", XmlReadMode.Auto);

これを行う方法はありますか?

編集:

NullRferenceException: Object reference not set to an instance of an object.

datagridview が null であることを示す

edit2: 申し訳ありませんが、"WriteXml" ではなく "ReadXml" であるはずです

4

1 に答える 1

2

問題は、GET-Request を送信する必要があるため、DataSet.ReadXml()-Method が URL から読み取ることができないことです ( http://msdn.microsoft.com/en-us/library/system.dataを参照)。 .dataset.readxml%28v=vs.80%29.aspx )。RESTful サービスと対話するには、Webrequest を送信する必要があります。

WebRequest request = WebRequest.Create ("http://localhost:8080/testXML/webresources/entities.categoryid");
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
Stream dataStream = response.GetResponseStream ();
ds.ReadXml(dataStream);
dataStream.Close();
response.Close();
...

それがうまくいくことを願っています。

于 2013-10-17T08:07:29.890 に答える