-
Crank174RuS
- Сообщения: 66
- Зарегистрирован: 19.09.2010
Из за чего вылетает эта ошибка?
Делаю так:
Код: Выделить всё
[b]$zeck = @file("http://109.234.157.38/prison/universal.php?getInfo&key=******&sig=da14a0d10f3ded37f390e54a6f7b329e&user=*****&method=getInfo");
$zeck_str = @implode("", $zeck);
$xml = new SimpleXMLElement($zeck_str);
if(!empty($xml)){
$name=strval($xml->user->name);
}
echo $name;[/b]
Вытащить нужно это:
Код: Выделить всё
[b]<?xml version="1.0" encoding="UTF-8"?>
<data>
<user>
<name>Имя</name>
</user>
</data>[/b]
-
AgentSIB
- Сообщения: 329
- Зарегистрирован: 17.05.2010
Во первых используй либо simplexml_load_string или simplexml_load_file. Во вторых file - это что за функция? может все же file_get_contents?
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"
-
Crank174RuS
- Сообщения: 66
- Зарегистрирован: 19.09.2010
Сделал так:
Код: Выделить всё
$zeck = file_get_contents("http://109.234.157.38/prison/universal.php?getInfo&key=*****&sig=da14a0d10f3ded37f390e54a6f7b329e&user=*****&method=getInfo");
$zeck_str = @implode("", $zeck);
$xml = simplexml_load_string($zeck_str);
if(!empty($xml)){
$name=strval($xml->user->name);
}
echo $name;
Все равно ошибка(
-- добавлено 02 ноя 2011, 19:50 --
то есть выводит пустое окно.
-
AgentSIB
- Сообщения: 329
- Зарегистрирован: 17.05.2010
Ну а в логах что пишет?
сделай после $zeck_str = @implode("", $zeck);
var_dump($zeck_str); Есть ли данные? Вообще кстати эта строка нафиг не нужна.
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"
-
Crank174RuS
- Сообщения: 66
- Зарегистрирован: 19.09.2010
Данные есть)
Сделал так:
Код: Выделить всё
function pars($log,$begin,$end)
{
$begin = strpos($log, $begin) + strlen($begin);
$end = strpos($log, $end, $begin);
$result = substr($log, $begin, $end - $begin);
return $result;
}
$zeck = file_get_contents('http://109.234.157.38/prison/universal.php?getInfo&key=*****&sig=da14a0d10f3ded37f390e54a6f7b329e&user=*****&method=getInfo');
$name= pars($zeck, "<name>","</name>");
if ($zeck!==false) {
echo $rating.'<br>';
}
Все заработало)
Теперь я не могу понять как мне с пощью такого скрипта вывести данные bossID по отдельности?:
XML:
Код: Выделить всё
<playerWins>
<playerWin>
<bossId>1</bossId>
<droppedKeys>1</droppedKeys>
<winCount>1344</winCount>
<coolWinCount>0</coolWinCount>
<epicWinCount>0</epicWinCount>
</playerWin>
<playerWin>
<bossId>2</bossId>
<droppedKeys>2</droppedKeys>
<winCount>418</winCount>
<coolWinCount>0</coolWinCount>
<epicWinCount>0</epicWinCount>
</playerWin>
<playerWin>
<bossId>3</bossId>
<droppedKeys>2</droppedKeys>
<winCount>125</winCount>
<coolWinCount>0</coolWinCount>
<epicWinCount>0</epicWinCount>
</playerWin>
<playerWin>
<bossId>4</bossId>
<droppedKeys>13</droppedKeys>
<winCount>32</winCount>
<coolWinCount>0</coolWinCount>
<epicWinCount>0</epicWinCount>
</playerWin>
</playerWins>
-
AgentSIB
- Сообщения: 329
- Зарегистрирован: 17.05.2010
2Crank174RuS
Блин, ну уже разжевали все вроде по simplexml.
viewtopic.php?t=1066&p=6364
Почитай чтоли на офсайте про эту функцию...
Frustra fit per plura quod potest fieri per pauciora © Закон "Бритвы Оккама"