За последние 24 часа нас посетили 20187 программистов и 1080 роботов. Сейчас ищут 714 программистов ...

xml и php(как узнать количество элементов и пр.)

Тема в разделе "Прочие вопросы по PHP", создана пользователем a1ias, 3 мар 2009.

  1. a1ias

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

    С нами с:
    3 мар 2009
    Сообщения:
    1
    Симпатии:
    0
    Такая задача: есть xml файл, который состоит из элементов <item> различной вложенности.
    Нужно средствами php вывести html-файл в виде таблицы, где каждый тег <item> имел свой номер,а также количеством значков "*" показывался уровень вложенности.

    Вопрос: каким образом можно узнать о количестве элементов в xml файле, а также как узнать уровень вложенности каждого элемента?

    Все это надо сделать в php файле, может команды какие есть для этого? я в xml как слепой котенок, а время поджимает.
     
  2. shreck

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

    С нами с:
    7 авг 2007
    Сообщения:
    479
    Симпатии:
    0
    Адрес:
    Россия, Саратов
    Пишешь рекурсивную функцию, которая бегает по item и выводит их в таблицу. Где нужно, выводи *.
    Придется почитать книжку
    Конечно есть. Мозг и прямые руки
     
  3. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
  4. alexey_baranov

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

    С нами с:
    3 фев 2009
    Сообщения:
    647
    Симпатии:
    0
    Адрес:
    Сургут
    не команды, а класец приличный. называется SimpleXML.

    примерно так:
    $simpleXML= new SimpleXML();
    $simpleXML->load(путь к файлу); //загрузить файл в память

    а потом просто сказка. парсишь его как хочешь методами класса, который надо сказать разработан умно
    $simpleXML->subElement->subsubElement //это означает вложенные элементы
    $simpleXML->elementName[attrName] //означает атрибут attrName элемента

    есть такая возможность
    foreach($element as $subElement){ //- это обойти все вложенные в $element элементы
    $subElement-> кручу верчу- наипать хочу
    }

    читает из файла, редактирует в памяти, записывает в файл. читай доку там всего- то пара страниц
     
  5. Frozen

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

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    DomDocument
    DomXpath
    DOMXPath->query('count(//item)')


    гугли

    сказал бы больше, тока устал аццки
     
  6. roswell

    roswell Новичок

    С нами с:
    6 мар 2021
    Сообщения:
    1
    Симпатии:
    0
    Ну, Ванька, ты и жук... )