Пропарсить XML!

Toxic_Cat

Новичок
Пропарсить XML!

Но сочтите меня за идиота, но уже 25 минут не могу вспомнить как пропарсить эту (http://shop.digiseller.ru/xml/test_personal_goods_info.asp?id_goods=51065) HTML страницу, чтобы выбрать текст между тегами
<info_goods></info_goods>

Подскажите, народ, очень прошу... Видимо я переработал...
:(
 

Toxic_Cat

Новичок
Строки парсю preg_match_all спокойно выбирая значения, а как целый текст - непомню!

Извините за то, что не поместил тему в Offtopic

-~{}~ 18.02.06 17:09:

Автор оригинала: matross
А взять готовый парсер не можешь?
Зачем мне готовый, когда я сейчас пишу движок сайта?

И где его взять? Уже 35 минут...
 

Toxic_Cat

Новичок
Автор оригинала: matross
А ты в гугле поищи ;)
Я по твоему сейчас сижу перед монитором и жду когда мне напишут ответ? Да я уже за 35 минут и мануал перерыл и гугл и яндекс, не помню как написать пару строк кода для парсинга в данной ситуации...

Народ, приведите код, пожалуйста, хотя-бы в какую сторону копать.
 

Фанат

oncle terrible
Команда форума
в такой ситуации, когда точно знаешь, что всё просто, но нападает тупизм, лучше сегой пойти попить чайку,развеяться,
а через часик всё само в голову встанет
 

SiMM

Новичок
> Строки парсю preg_match_all спокойно выбирая значения, а как целый текст - непомню!
Точно так же
[telepat mode]
[m]reference.pcre.pattern.modifiers[/m]
[/telepat mode]
 

Toxic_Cat

Новичок
Автор оригинала: Фанат
в такой ситуации, когда точно знаешь, что всё просто, но нападает тупизм, лучше сегой пойти попить чайку,развеяться,
а через часик всё само в голову встанет
Эх... Я бы с радостью, но злобный заказчик каждые пять минут заходит в ICQ и пишет заветное слово: "Все?"

А я ему в ответ "Извините, но я дурак, не умею..."

Это кошмар, я сейчас точно свихнусь...

-~{}~ 18.02.06 18:29:

Автор оригинала: SiMM
> Строки парсю preg_match_all спокойно выбирая значения, а как целый текст - непомню!
Точно так же
[telepat mode]
[m]reference.pcre.pattern.modifiers[/m]
[/telepat mode]
Огромное спасибо, Вам... Но...

Я уже 1 час 45 минут смотрю вот на это "творение" и думаю "что же я тут написал"?

PHP:
preg_match_all("/<info_goods>(.*)</info_goods>/",$buffer,$info_goods);
Это просто кошмар, как я не пробовал, ну не понимаю я что писать. Что угодно не только не регулярное выражение!

Спасибо за внимание, я пошел выпью йаду...
 

ksnk

прохожий
PHP:
preg_match_all("~<info_goods>(.*)</info_goods>~",$buffer,$info_goods);
Может так?

PHP:
preg_match_all("~<info_goods>([^<]*)</info_goods>~",$buffer,$info_goods);
впрочем, в данном случае сойдет и так.
 

Фанат

oncle terrible
Команда форума
Toxic_Cat
по-моему, у тебя какая-то нездоровая мания смотреть на часы...
 

Toxic_Cat

Новичок
Автор оригинала: ksnk
PHP:
preg_match_all("~<info_goods>(.*)</info_goods>~",$buffer,$info_goods);
Может так?
Это уже не так.
PHP:
<info_goods>(.*)<\/info_goods>
Надо экранировать спец. символ

-~{}~ 18.02.06 18:38:

Автор оригинала: Фанат
Toxic_Cat
по-моему, у тебя какая-то нездоровая мания смотреть на часы...
Да, особенно когда было сказанно, что сегодня заказ должен быть сдан, а я застрял на регулярном выражении ;)


Спасибо всем, кто хотел помоч!!! Тем, кто писал настоящие, полезные советы, которых я не понимал...

Спасибо за то, что уделили мне время.

Спасибо человеку, который мне помог.

Я пошел работать дальше, тема the end. Я уже уронил свой "авторитет", если он и был конечно... :)

Спасибо всем, кто читал мою чушь.
 

Toxic_Cat

Новичок
Помогите, я разобрался с POST, но теперь не могу правильно считать запрос, странно...

Код:
PHP:
fwrite($fp, $out);
while (!feof($fp)) {
$txt = fread($fp, 124);
$buffer=$buffer.$txt;
}
Подскажите, почему когда сервер возвращает вот эту надпись: Alive Content-Length: 9907

У меня принимаются всего 2920 символов? Почему я не могу вышенаписанным скриптом скачать весь ответ? Подскажите пожалуйста!

-~{}~ 21.02.06 21:38:

Народ, что никто не подскажет?
Вот полный код:
PHP:
$url_sock="shop.digiseller.ru";
$request="http://shop.digiseller.ru/xml/personal_goods.asp";
$post="<digiseller.request>
	<id_group>$url</id_group>
	<page></page>
	<rows>999</rows>
	<order>name</order>
</digiseller.request>

";
$len=strlen($post);

$fp = fsockopen($url_sock, 80, $errno, $errstr, 100);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
}

$out = "POST $request HTTP/1.0
Accept: */*
Content-type: application/x-www-form-urlencoded
Content-length: $len

$post ";
$buffer='';
fwrite($fp, $out);

$buffer='';

fwrite($fp, $out);

while (!feof($fp)) 
       {
       $buffer.=fgets($fp,200);
       }


fclose($fp);
 

Toxic_Cat

Новичок
Автор оригинала: baev
Это зачем по два раза?
Извиняюсь, неправильно скопировал, но код по любому должен работать, помогите, попробуйте создать свой запрос и принять XML код с указанного мною сервера!

-~{}~ 21.02.06 22:06:

Автор оригинала: Toxic_Cat
Извиняюсь, неправильно скопировал, но код по любому должен работать, помогите, попробуйте создать свой запрос и принять XML код с указанного мною сервера!
Огромное спасибо!!!! Просто очень огромное!!! Оказывается я не такой уж и дурак(хотя кто знает)!!!

Еще раз спасибо, а то я уже не знал что говорить заказчику на этот счет!
 
Сверху