За последние 24 часа нас посетили 18667 программистов и 1603 робота. Сейчас ищут 909 программистов ...

помогите с xml

Тема в разделе "PHP для новичков", создана пользователем inline, 23 дек 2014.

  1. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    Код (Text):
    1.  [offers] => SimpleXMLElement Object
    2.                 (
    3.                     [offer] => Array
    4.                         (
    5.                             [0] => SimpleXMLElement Object
    6.                                 (
    7.                                     [@attributes] => Array
    8.                                         (
    9.                                             [id] => 90697
    10.                                             [type] => vendor.model
    11.                                             [available] => false
    12.                                         )
    13.  
    14.                                     [articul] => 31242702
    15.                                     [url] => http://pokupaj.ru/
    16.                                     [price] => 0.0
    17.                                     [priceBy] => 0.0
    18.                                     [priceUa] => 0.0
    19.                                     [currencyId] => RUR
    20.                                     [categoryId] => 995
    21.                                     [name] => LG MS-1949Х
    22.                                     [vendor] => LG
    23.                                     [pictures] => SimpleXMLElement Object
    24.                                         (
    25.                                             [picture] => http://img.apishops.org/619~-~0~16777215~11~0~35~16773120~40/0/91/90697/451554.jpg
    26.                                         )
    27.  
    28.                                     [picturesThumbnails] => SimpleXMLElement Object
    29.                                         (
    30.                                             [picture] => http://img.apishops.org/150~-~0~16777215~11~0~10~16773120~75/0/91/90697/451554.jpg
    31.                                         )
    32.  
    33.                                     [model] => MS-1949Х
    34.                                 )
    35.  
    36.                             [1] => SimpleXMLElement Object
    37.                                 (
    38.                                     [@attributes] => Array
    39.                                         (
    40.                                             [id] => 358109
    41.                                             [type] => vendor.model
    42.                                             [available] => false
    43.                                         )
    44.  
    45.                                     [articul] => 31242562
    46.                                     [url] => http://pokupaj.ru/
    47.                                     [price] => 0.0
    48.                                     [priceBy] => 0.0
    49.                                     [priceUa] => 0.0
    50.                                     [currencyId] => RUR
    51.                                     [categoryId] => 585
    52.                                     [name] => Monster Beats by Dr. Dre Studio
    53.                                     [vendor] => Monster
    54.                                     [pictures] => SimpleXMLElement Object
    как при использовании simplexml получить [name]-ы ?

    Добавлено спустя 40 секунд:
    echo $xml->offer[0]->name не работает - выводит чистый лист
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А где обращение к offers?
     
  3. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    решил через xpath

    Добавлено спустя 27 секунд:
    а как через offers

    Добавлено спустя 1 минуту 7 секунд:
    и еще
    вот что в xml

    вот результат
    PHP:
    1. print_r ($xml);

    что я делаю не правильно?
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Нужно всю xml видеть и как ты ее в объект превращаешь
    Возможно так echo $xml->offers->offer[0]->name

    Добавлено спустя 2 минуты 15 секунд:
    Не видно заголовков xml, и вместо print_r используй var_dump
     
  5. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    http://www.apishops.com/websiteAction?action=getPrice&id=296879
    тоже пустота
    $xml = simplexml_load_string(file_get_contents(
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Скачаю посмотрю

    Добавлено спустя 12 минут 39 секунд:
    Просто мог бы посмотреть пример из документации: https://php.net/manual/ru/simplexml.examples-basic.php

    echo $xml->shop->offers[0]->offer->name;
     
  7. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    смотрел и не один
    shop не учел

    а как с
    <categories>
    <category id="170">Мужская одежда низ</category>
    <category id="1701300" parentId="170">Джинсы</category>

    получить id и parentId ?
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Мужская одежда низ $xml->shop->categories[0]->category;
    170 $xml->shop->categories[0]->category['id'];

    Ты документацию читай, там все эти примеры есть.
     
  9. inline

    inline Активный пользователь

    С нами с:
    21 май 2010
    Сообщения:
    466
    Симпатии:
    0
    ок
    спасибо большое