У меня есть веб-сервис работает на моей локальной машине в http://localhost:8000/Service/, когда я перейти к этому он отображает некоторые жёстко прописанные информацию в виде списка, как так:XML в ListBox из WebService
<ArrayOfStudent>
<Student>
<StudentID>bla</StudentID>
<FirstName>bla</FirstName>
<LastName>bla</LastName>
</Student>
<Student>
<StudentID>bla1</StudentID>
<FirstName>bla1</FirstName>
<LastName>bla1</LastName>
</Student>
<Student>
<StudentID>bla2</StudentID>
<FirstName>bla2</FirstName>
<LastName>bla2</LastName>
</Student>
</ArrayOfStudent>
Как я могу взять список XML как это и добавить его в список из моего uri http://localhost:8000/Service/ как его сделать с остатком, я не могу добавить ссылку на сервисное приложение Windows?
Например здесь является метод о том, как добавить изображение в Imagebox от URI,:
public Image GetImage(int width, int height)
{
string uri = string.Format("http://localhost:8000/Service/picture/{0}/{1}", width, height);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
return new Bitmap(stream);
}
}
}
Тогда все, что нужно сделать, это позвонить pictureBox1.Image = GetImage(pictureBox1.Height, pictureBox1.Width);
в любом месте я хочу. Я просто не знаю, как добавить текстовые данные из моего сервиса? - Форматирование вопрос http://www.dotnetcodecentral.com/Post/215/wcf-rest-consuming/convert-or-deserialize-wcf-rest-response-to-objects-list
private void button2_Click(object sender, EventArgs e)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream strm = resp.GetResponseStream();
XElement xdoc = XElement.Load(strm); // XElement.Load has some invalid arguements?
q = From student In xdoc.<Student>// from here
Select New With {
.StudentNo = student.<StudentID>.Value,
.Firstname = student.<FirstName>.Value,
.Surname = student.<LastName>.Value,
}; // to here is abit of a mess
listBox1.DataSource = q.ToList();
}
}
EDIT:
я что-то вроде этого попытки?
когда вы говорите URL вы имеете в виду мой локальный адрес? также означает ли это, что мне не нужна линия ответа strm потока? –
@ Garrith. Да, точно. –
Это работает :) Я обновил свой вопрос с изображением, которое, похоже, дает проблему с форматированием? Это из окон форм приложения или веб-службы? –