<auto-catalog>
<creation-date>2010-7-19 9:28:32 GMT+2</creation-date>
<host>www.automobil.ua</host>
<offers>
<offer type="private">
<seller-phone>(095) 520-99-14</seller-phone>
<seller>den</seller>
<additional-info>Музыка, тонировка. Машина как машина.</additional-info>
<mark>ЗАЗ</mark>
<model>Славута</model>
<price>17000</price>
<currency-type>USD</currency-type>
<run>87</run>
<displacement>1.20</displacement>
<year>2004</year>
<run-metric>тыс. км.</run-metric>
<url>http://automobil.ua/auto/ЗАЗ_Славута_101731.html</url>
<date>2010-07-18 00:00:27 GMT+2</date>
<steering-wheel>левый</steering-wheel>
<seller-city>Краматорск</seller-city>
<color>Синий</color>
<engine-type>Бензин</engine-type>
<image>http://automobil.ua/objav/img/1/101731/400x300/pic-0.jpg</image>
</offer>
</offers>
</auto-catalog>
Так вот, как используя SimpleXML получить данные из элемента seller-phone и других, которые содержат дефис (-) в названии?!
В ООП такой синтаксис не допустим! Верно?! Как быть?
Спустя 1 минута, 22 секунды (28.07.2010 - 13:55) Lenarfate написал(а):
а ты уже пробывал?
Спустя 5 минут, 19 секунд (28.07.2010 - 14:00) Guest написал(а):
Ну раз здесь пишу значит пробывал!
Вот как я делал:
Вот как я делал:
$xml = simplexml_load_file('http://automobil.ua/partner-auto.xml');
foreach($xml->offers->offer as $item){
echo $item->seller // это работает
echo $item->seller-phone //здесь ошибка
}
Спустя 2 минуты, 53 секунды (28.07.2010 - 14:03) Lenarfate написал(а):
поменяй везде - на _ ))
а так по ходу реально не работает
а так по ходу реально не работает
Спустя 5 минут, 11 секунд (28.07.2010 - 14:09) Семён написал(а):
$xml = simplexml_load_file("твой.xml");
$myvar = $xml->offers->offer->xpath('seller-phone');
foreach ($myvar as $result)
{ $myvar = $result; }
Данный способ поможет тебе с практически любым типом названий.
Внимательнее читай документацию к SimpleXML
Спустя 3 минуты, 52 секунды (28.07.2010 - 14:12) Семён написал(а):
Естественно в $myvar содержится результат.
Спустя 57 секунд (28.07.2010 - 14:13) Guest написал(а):
А почему так не работает:
$xml = simplexml_load_file("твой.xml");
foreach($xml->offers->offer as $item){
echo $item->xpath('seller-phone');
}
Спустя 1 минута, 54 секунды (28.07.2010 - 14:15) Семён написал(а):
Глупый вопрос.
Спустя 2 минуты, 26 секунд (28.07.2010 - 14:18) Guest написал(а):
Может быть! Но все же. Буду очень благодарен!
Спустя 3 минуты, 1 секунда (28.07.2010 - 14:21) Семён написал(а):
Вот ещё проще вариант, но если будут в секции встречаться двоеточия запятые и другие символы не факт что будет 100% работать, но для твоего варианта вполне:
В твоём случае у тебя не работало потомучто в цикле чёрти что происходит толи ты с объектом SimpleXML пытаешься работать, толи с простым массивом. (всё дело в заранее не подготовленном xpatch...
$xml = simplexml_load_file("test.xml");
$myvar = $xml->offers->offer->{'seller-phone'};
echo $myvar;
В твоём случае у тебя не работало потомучто в цикле чёрти что происходит толи ты с объектом SimpleXML пытаешься работать, толи с простым массивом. (всё дело в заранее не подготовленном xpatch...
Спустя 7 минут, 8 секунд (28.07.2010 - 14:28) Guest написал(а):
Большое спасибо!!! Все получилось!
Спустя 1 минута, 42 секунды (28.07.2010 - 14:30) Семён написал(а):
Guest
Да нзчт, осмысленно нужно писать те или иные вещи
Удачи.
Да нзчт, осмысленно нужно писать те или иные вещи
Удачи.