Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удаление пробелов из принятой по хттп xml 
:(
    Опции темы
hug
Дата 27.10.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 27.7.2007

Репутация: нет
Всего: нет



Вот такая проблемка.
Получаю xmlку с сайта.
Необходимо ее парсить. 


Код


    Source:=TmemoryStream.Create;
    Source1:=TMemoryStream.Create;
    Url:='....';
    try
        HTTP.Request.ProxyServer := proxy;
        HTTP.Request.ProxyPort := port;      
        HTTP.Get(URL,Source);
        XMLDocument1.LoadFromStream(Source);
        XMLDocument1.Active:=true;


Проблема в том что в потоке идет xmlка с начальными пробелами. и парсер не может провести валидность. Возможно надо как то удалить эти проблеы из потока но как?


PM MAIL   Вверх
Alexeis
Дата 27.10.2007, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



hug, советую вместо TMemoryStream использовать, TStringStream. Тогда удаление пробелов будет проще. 
Пример

Код

var
  st : TStringStream;
begin
  st := TStringStream.Create('   egweyweywey');
  st.WriteString(TrimLeft(st.DataString));


TStringStream это тот же TMemoryStream, но данные хранит в виде строки.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
hug
Дата 27.10.2007, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 27.7.2007

Репутация: нет
Всего: нет



Цитата(Alexeis @ 27.10.2007,  10:19)
hug, советую вместо TMemoryStream использовать, TStringStream. Тогда удаление пробелов будет проще. 
Пример

Код

var
  st : TStringStream;
begin
  st := TStringStream.Create('   egweyweywey');
  st.WriteString(TrimLeft(st.DataString));


TStringStream это тот же TMemoryStream, но данные хранит в виде строки.

спасибо.
Код

Response:=TStringStream.Create('');
HTTP.Get(URL,Response);


Вот столкнулся с тем , что страничка не попадает в СтрингСтрим
PM MAIL   Вверх
Alexeis
Дата 27.10.2007, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Код

procedure TForm1.FormCreate(Sender: TObject);
var
  s   : AnsiString;
  mem : TStringStream;
begin
  IdHTTP1.proxyparams.ProxyServer := '10.0.0.1';
  IdHTTP1.proxyparams.ProxyPort   := 8080;
  mem := TStringStream.Create('');
  IdHTTP1.Get('http://ya.ru/', mem);
  s := mem.DataString;
end;


У меня все четко сработало на Indy 10.

Добавлено через 17 секунд
В строке HTML страница.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.