.NET 4.x API ВК, чтение ответа в формате XML - Visual Basic .NET
Формулировка задачи:
Доброго времени суток, решил попробовать поработать с API ВК, и столкнулся с проблемой. Программа должна отправлять запрос на получение списка аудиозаписей, переводить полученный в JSON'e ответ в XML и занести содержимое тегов с автором и названием в ListBox.
При конвертировании, каждая информация о записи оборачивается в тег <response>:
... но при этом в самом верху ответа также возвращается и количество аудиозаписей, которая тоже оборачивается в <response>
Конечный возвращаемый результат:
И при попытке чтения всех тегов с авторами и названием, программа выдает ошибку "Ссылка на объект не указывает на экземпляр объекта" и, естественно, ничего не заполняет.
Можно ли как-то при конвертировании обернуть число аудиозаписей в другой тег? Или есть другая забрать из XML нужные мне данные?
Возвращаемый от ВК JSON:
Код конвертирования JSON в XML и чтения содержимого тегов:
Листинг программы
- <answ>
- <response>
- <artist>Автор</artist>
- <title>Название</title>
- </response>
- <response>
- <artist>Автор</artist>
- <title>Название</title>
- </response>
- <answ>
Листинг программы
- <answ>
- <responce>Количество аудиозаписей</response>
- <response>
- <artist>Автор</artist>
- <title>Название</title>
- </response>
- <response>
- <artist>Автор</artist>
- <title>Название</title>
- </response>
- <answ>
Листинг программы
- response: {
- count: число аудиозаписей,
- items: [{
- artist: 'автор',
- title: 'название',
- }, {
- artist: 'автор',
- title: 'название',
- }]
- }
Листинг программы
- Dim streamreader As New StreamReader(response.GetResponseStream, Encoding.GetEncoding("utf-8"))
- Dim node As XNode = JsonConvert.DeserializeXNode(streamreader.ReadToEnd, "answ")
- Dim xdoc As XDocument = XDocument.Parse(node.ToString)
- For Each xe As XElement In xdoc.Element("answ").Elements("response")
- ListBox1.Items.Add(xe.Element("artist").Value & " - " & xe.Element("title").Value)
- Next
Решение задачи: «.NET 4.x API ВК, чтение ответа в формате XML»
textual
Листинг программы
- Public Class Rootobject
- Public Property response As Response
- End Class
- Public Class Response
- Public Property count As Integer
- Public Property items() As Item
- End Class
- Public Class Item
- Public Property artist As String
- Public Property title As String
- End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д