Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 2

Почему не работает получение ссылки на фото из xml ВКонтакте?

11.03.2016, 12:16. Показов 1469. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите пожалуйста, почему не работает получение ссылки на фото из xml
Вот из такой, например.
http://api.vk.com/method/wall.... ci&count=5
Из постов информацию получает нормально.


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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();
        }
 
        
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2016, 12:16
Ответы с готовыми решениями:

При загрузке фото, почему-то загружаеться только 5 фото
Не пойму почему, загружаеться только 5 фото и в базу данных загружаеться сразу 5 рядков, вот сам код &lt;?php require...

Работа с XML - почему в WinVista работает, а в WinXP нет?
Народ, вот код функции (MFC диалоговый проект), который я нашел на одном из сайтов... компилирую его, под вистой работает, а под ХР нет.....

Редактирование уменьшеной копии фото (как в ВКонтакте)
Здравствуйте! При добавлении фотографии на аватарку в ВКонтакте/Мой мир (mail.ru) выводится функция выбора какой участок фотографии...

3
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
11.03.2016, 14:15
Лучший ответ Сообщение было отмечено Htoge как решение

Решение

Всё читает. Только не отображает, потому что негде. Смотри пример: по двойному клику на строке появится новая форма с изображениями
Вложения
Тип файла: zip WindowsFormsApplication1.zip (3.31 Мб, 7 просмотров)
1
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 2
11.03.2016, 15:17  [ТС]
Спасибо огромное!
А не подскажите, как добавить картинку в datagridview? Может как-то можно в datasource vkpost добавить image_75 из attachmentslist.img, например?
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
11.03.2016, 17:18
Проще всего сделать свой столбец для DGV, который будет отображать ячейку, преобразующую строку url в изображение. И сам класс, хранящий данные для DGV, должен содержать ссылку на это изображение.
Столбец DataGridViewUrlImageColumn
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class DataGridViewUrlImageColumn : DataGridViewImageColumn
{
 
    public override DataGridViewCell CellTemplate
    {
        get
        {
            return new DataGridViewUrlImageCell();
        }
 
        set
        {
            base.CellTemplate = value;
        }
    }
}

Ячейка DataGridViewImageCell
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
    }
}

Ну и затем добавить его в DGV
Миниатюры
Почему не работает получение ссылки на фото из xml ВКонтакте?   Почему не работает получение ссылки на фото из xml ВКонтакте?  
Вложения
Тип файла: zip WindowsFormsApplication1.zip (26.4 Кб, 6 просмотров)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2016, 17:18
Помогаю со студенческими работами здесь

Реклама вконтакте при просмотре видео и фото
Здравствуйте! Скачала какой-то файл, а после его запуска началось... Все что смогла - почистила. Но с остальным вот никак не...

Как удалить фото из чужого альбома Вконтакте
Здравствуйте. Не знал, куда написать, так что простите и перенесите тему, если что. Проблема такая (в двух словах): У одного...

В вконтакте при просмотре видео и фото появляется реклама
Везде появилась одна реклама. При запуске браузера первая страница открывается не поиска, а страница с рекламой. В вконтакте при просмотре...

Ссылки в ВКонтакте
Как сделать, чтобы при отправки ссылки в сообщениях, она показывалась как красивый прямоугольник с картинкой? Отчего зависит появление...

Загрузка фото Вконтакте C# с авторизацией через oauth+api.vkontakte
Всем привет, прошу помощи, т.к. мозги уже кипят, и какие маны курить уже не знаю. Есть внешнее desktop приложение на C# с авторизацией...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru