Почему не работает получение ссылки на фото из xml ВКонтакте? - C#
Формулировка задачи:
Здравствуйте, подскажите пожалуйста, почему не работает получение ссылки на фото из xml
Вот из такой, например.
http://api.vk.com/method/wall.get.xm...in=sci&count=5
Из постов информацию получает нормально.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Text; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Xml.Linq; namespace WindowsFormsApplication16 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { dataGridView1.DataSource = GetVkpostslist(); } public class Vkpost { public int ID { get; set; } public int from_id { get; set; } public int owner_id { get; set; } public DateTime date { get; set; } public string post_type { get; set; } public string text { get; set; } public bool is_pinned { get; set; } public int comments { get; set; } public int likes { get; set; } public int reposts { get; set; } public attachmentslist attachmentslist { get; set; } } public class attachmentslist { public List<imginfo> img = new List<imginfo>(); } public class imginfo { public string photo_75 { get; set; } public string photo_130 { get; set; } public string photo_604 { get; set; } public string idphoto { get; set; } } public List<Vkpost> GetVkpostslist() { var webRequest = HttpWebRequest.Create("http://api.vk.com/method/wall.get.xml?v=5.45&filter=all&domain=sci&count=5"); var webResponse = webRequest.GetResponse(); var stream = webResponse.GetResponseStream(); var xmlDoc = XDocument.Load(stream); var Vkpost = from post in xmlDoc.Descendants("post") select new Vkpost { ID = Convert.ToInt32(post.Element("id").Value), text = post.Element("text").Value, likes = Convert.ToInt32(post.Element("likes").Value), attachmentslist = new attachmentslist() { img = new List<imginfo>(from im in post.Descendants("photo") select new imginfo() { photo_604 = im.Element("photo_604").Value, photo_130 = im.Element("photo_130").Value, idphoto = im.Element("id").Value, photo_75 =im.Element("photo_75").Value }) } }; return Vkpost.ToList(); } } }
Решение задачи: «Почему не работает получение ссылки на фото из xml ВКонтакте?»
textual
Листинг программы
public class DataGridViewUrlImageCell : DataGridViewImageCell { protected override object GetFormattedValue(object value, int rowIndex, ref DataGridViewCellStyle cellStyle, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context) { Image jpgImage = null; using (WebClient webSource = new WebClient()) { try { byte[] data = webSource.DownloadData(value.ToString()); using (MemoryStream pipe = new MemoryStream(data)) { jpgImage = Image.FromStream(pipe); } } catch (Exception) { } }; return jpgImage; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д