Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
#1

Создание RSS агрегатора

04.07.2012, 21:23. Просмотров 1864. Ответов 30
Метки нет (Все метки)

возникла срочная необходимость создать простенький RSS,который получает новости,а отображает их в дефолтном браузере,однако ни с чем подобным не сталкивался прежде.я не прошу готовый код,я лишь прошу подсказать мне какие шаги нужно сделать,если вы знаете уже сделанный пример,скиньте пожалуйста ссылку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 21:23
Ответы с готовыми решениями:

Поиск по .txt файлу (RSS)
Доброго времени суток. Пытаюсь придумать что-нибудь, чтобы работать с RSS без...

Создание RSS
Здрасте. Подскажите я уже разобрался как создать xml -файл через данные с...

Создание Rss ридера
Мне нужно прочитать RSS канал и вывести его на страничку, это можно сделать с...

Создание RSS реадера
Я хочу прикрутить RSS ленту к pull to refresh Тоесть не выводить на екран всю...

Создание RSS-reader с оффлайн базой
нужно создать программу в Windows Forms, т.е. рсс ридер с оффлайн базой,но вся...

30
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 17:37  [ТС] #21
тут файл и код
0
Вложения
Тип файла: zip Архив ZIP - WinRAR.zip (716 байт, 11 просмотров)
Avazart
Эксперт С++
7719 / 5628 / 549
Регистрация: 10.12.2010
Сообщений: 25,349
Записей в блоге: 17
09.07.2012, 17:44 #22
Пробовал открыть свой файл через браузер?
0
Миниатюры
Создание RSS агрегатора  
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 17:49  [ТС] #23
у меня сафари открывает
0
Вложения
Тип файла: rar архив.rar (2.7 Кб, 6 просмотров)
Avazart
Эксперт С++
7719 / 5628 / 549
Регистрация: 10.12.2010
Сообщений: 25,349
Записей в блоге: 17
09.07.2012, 17:54 #24
Нужно как-то делать проверку что xml не пуст.

Попробуй код из википедии http://ru.wikipedia.org/wiki/XML

Просмотреть код
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="UTF-8"?>
<recipe name="хлеб" preptime="5" cooktime="180">
  <title>Простой хлеб</title>
  <composition>
    <ingredient amount="3" unit="стакан">Мука</ingredient>
    <ingredient amount="0.25" unit="грамм">Дрожжи</ingredient>
    <ingredient amount="1.5" unit="стакан">Тёплая вода</ingredient>
    <ingredient amount="1" unit="чайная ложка">Соль</ingredient>
  </composition>
  <instructions>
    <step>Смешать все ингредиенты и тщательно замесить.</step>
    <step>Закрыть тканью и оставить на один час в тёплом помещении.</step>
    <!-- <step>Почитать вчерашнюю газету.</step> - это сомнительный шаг... -->
    <step>Замесить ещё раз, положить на противень и поставить в духовку.</step>
  </instructions>
</recipe>


Добавлено через 3 минуты
у меня сафари открывает
А у меня Opera нет
0
Миниатюры
Создание RSS агрегатора  
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 17:59  [ТС] #25
я скопировал текст
0
Вложения
Тип файла: rar архив.rar (5.5 Кб, 8 просмотров)
Avazart
Эксперт С++
7719 / 5628 / 549
Регистрация: 10.12.2010
Сообщений: 25,349
Записей в блоге: 17
09.07.2012, 18:08 #26
Таже ошибка.

Вообщем проблема как я понимаю самом xml, плюс ты не делал проверки.

Добавлено через 6 минут
Наверное не правильно скачал или скопировал xml там в начале левые символы если их убрать, то открывается нормально.
0
Миниатюры
Создание RSS агрегатора  
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 18:21  [ТС] #27
а как их убрать?
0
Avazart
Эксперт С++
7719 / 5628 / 549
Регистрация: 10.12.2010
Сообщений: 25,349
Записей в блоге: 17
09.07.2012, 18:22 #28
а как их убрать?
А как они там появились?
Я просто в блокноте рукам вырезал и все.
0
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 18:24  [ТС] #29
вот так я полчаю файл
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
#include<iostream>
#include<fstream>
#include<WinSock2.h>
#include<Windows.h>
#include<cstring>
#include <stdio.h>
#include<new>
 
using namespace std;
 
#pragma comment(lib, "ws2_32.lib")
 
WSADATA wsd;
SOCKET s;
struct sockaddr_in addr;
struct hostent * ip;
char query[128];
 
 
std::ofstream F("C:\\data.xml",std::ios::binary);
 
int main()
{
    
    WSAStartup(MAKEWORD(2,2),&wsd);
 
    int sock=socket(AF_INET,SOCK_STREAM,0);
    ip=gethostbyname("kp.ua");
    
    addr.sin_family=AF_INET;
    memcpy(&(addr.sin_addr),ip->h_addr_list[0],sizeof(addr.sin_addr));
    addr.sin_port=htons(80);
 
    connect(sock,(struct sockaddr*)&addr,sizeof(addr));
 
    char query[8096];
  
 
    char *buffer = new char[1024];
 
    char * p = new char[1024];
 
    strcpy(buffer,"");
    int k;
    strcpy(query,"GET /rss/feed.xml HTTP/1.0\r\nHost:kp.ua\r\n\r\n");
 
    send(sock,query,strlen(query),0);
    
 
    int h=1;
    while ((k=recv(sock,buffer,1024,0))>0)
    {
        p=strstr(buffer,"\r\n\r\n");
        if (p!=NULL && h)
        {
            F.write(p+4,k);
            h=0;
        }
        else
        {
        F.write(buffer, k);
        }
        strcpy(buffer,"");
    }
 
    F.close();
   
    closesocket(s);
 
    WSACleanup();
 
    system("pause");
 
    return 0;
}
0
Avazart
Эксперт С++
7719 / 5628 / 549
Регистрация: 10.12.2010
Сообщений: 25,349
Записей в блоге: 17
09.07.2012, 18:27 #30
Ну я с сокетами не имел дела так что не подскажу...
Но думаю проблема в этом...
0
alexey31415
59 / 59 / 7
Регистрация: 16.05.2010
Сообщений: 632
09.07.2012, 18:28  [ТС] #31
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    int h=1;
    while ((k=recv(sock,buffer,1024,0))>0)
    {
        p=strstr(buffer,"\r\n\r\n");
        if (p!=NULL && h)
        {
            //fwrite(p+4,sizeof(char),k,out);
           /* f.write(p+4,k);*/
            F.write(p+4,k);
            h=0;
        }
        else
        {
            //fwrite(buf,sizeof(char),k,out);
            /*f.write(buf,k);*/
            F.write(buffer, k);
        }
        strcpy(buffer,"");
    }
вот здесь наверно,но в чём я не знаю
0
09.07.2012, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.07.2012, 18:28

Создание RSS на базе Material Design
Добрый день! Подсел на тему Материал Дизайн. Уж очень она мне понравилась. Сам...

Создание RSS ленты канала YouTube
Всем здрасти! Понадобилось создать RSS ленту своего канала YouTube....

Количество новостей rss ленты и подключения несколько rss лент
Здравствуйте, возник такой вопрос, у меня есть rss-лента, одна она работает...


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

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru