как парсить xml файлы

Тема в разделе "PHP", создана пользователем Елена8, 25 окт 2013.

  1. Елена8

    Елена8

    Регистрация:
    20 июн 2013
    Сообщения:
    30
    Симпатии:
    3
    Здравствуйте. Подскажите как можно парсить xml файлы и выводить данные на html страницу? Файлы всегда одной структуры, и нужно вывести все в виде таблицы, где будут как в эксель столбцы и строки. Хотя бы с чего начать?
     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.580
    Симпатии:
    1.482
  3. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    посоветую изучить простой SimpleXml
     
    Елена8 нравится это.
  4. alexeynight

    alexeynight

    Регистрация:
    29 окт 2013
    Сообщения:
    0
    Симпатии:
    1
    Посмотрите на SimpleXml. Там всё очень просто:
    HTML:
    <songs>
        <song dateplayed="2011-07-24 19:40:26">
            <title>I left my heart on Europa</title>
            <artist>Ship of Nomads</artist>
        </song>
        <song dateplayed="2011-07-24 19:27:42">
            <title>Oh Ganymede</title>
            <artist>Beefachanga</artist>
        </song>
        <song dateplayed="2011-07-24 19:23:50">
            <title>Kallichore</title>
            <artist>Jewitt K. Sheppard</artist>
        </song>
    </songs>
    Чтобы получить доступ к данным делаем так:
    PHP:
        $mysongs simplexml_load_file('songs.xml');
        echo 
    $mysongs->song[0]->artist;
     
    Елена8 нравится это.
  5. Елена8

    Елена8

    Регистрация:
    20 июн 2013
    Сообщения:
    30
    Симпатии:
    3
    ребята, а как читать эти файлы с индентификаторами # а не как в посте выше?
    вопрос снят поняла сама)
    --- Добавлено, 1 дек 2013 ---
    не подскажет ни кто, как такую структуру парсить?
    HTML:
    <orders>
    <order id="2410">
    <nom>02410</nom>
       
    <order_items>
               
    <item id="40871">
                    <cat_id>246</cat_id>
                    <goods_id>4325</goods_id>
                    <type>Материальный товар</type>
                    <brand></brand>
                   
    <name>Капучино GranArom со вкусом карамели 200 гр</name>
           
    <cat_name>Кофе</cat_name>
                    <warr></warr>
                   
    <art>500</art>
                   
    <unit>200 гр</unit>
                    <weight>0</weight>
                    <price>150.00</price>
                    <price_in>100.00</price_in>
                    <cnt>1</cnt>
                   
    <other1></other1>
                    <other2></other2>
                    <other3></other3>
               
    </item>
    ...
    </order_items>
       
    </order>
    </orders>
    --- Добавлено, 1 дек 2013 ---
    получается так?
    Код:
    echo $myitem->item[0]->name; echo $myitem->item[0]->cat_name; echo $myitem->item[0]->art; echo $myitem->item[0]->unit;
     
    Последнее редактирование: 1 дек 2013
  6. Scholes

    Scholes

    Регистрация:
    16 дек 2013
    Сообщения:
    20
    Симпатии:
    2
    Мне кажется так?

    Код:
    echo $orders->order[0]->order_items[0]->item[0]->name;
    echo $orders->order[0]->order_items[0]->item[0]->cat_name;
    echo $orders->order[0]->order_items[0]->item[0]->art;
    echo $orders->order[0]->order_items[0]->item[0]->unit;
     
  7. andrewglass

    andrewglass

    Регистрация:
    29 дек 2013
    Сообщения:
    3
    Симпатии:
    0
    Посоветую универсальное решение Content Downloader позволяет парсить как файлы и водить в любом другом виде, или сразу сайты и так же выводить в любом виде и структуре.
     
  8. Елена8

    Елена8

    Регистрация:
    20 июн 2013
    Сообщения:
    30
    Симпатии:
    3

    ну, да можно им. но мне же в приложение потом выводить, где данные будут обрабатываться. какая разница в каком они виде будут)