За последние 24 часа нас посетили 16536 программистов и 1642 робота. Сейчас ищут 1200 программистов ...

вопрос по работе с XML

Тема в разделе "Сделайте за меня", создана пользователем tikhonshw, 2 фев 2015.

  1. tikhonshw

    tikhonshw Новичок

    С нами с:
    26 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    пишу обходчик XML
    использую simplexml_load_file
    до смены формата самого XML все работало как надо...
    с 1 января 2015 года сменился формат.. появилась опять задача написать обходчик по новому формату... так вот в структуре наименование полей сменилось и теперь имеет вид <ns2:Date> - как пример одного поля (их много разных по такому шаблону)

    в описании по работе с simplexml_load_file, сказано, что можно в полях с символами использовать конструкцию {'ns2:Date'} - как пример.... но данная конструкция не отрабатывает..

    подскажите как еще можно попробовать обратиться к полям такого вида
     
  2. denis01

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

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

    tikhonshw Новичок

    С нами с:
    26 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    про эту командочку запамятовал ((

    при выводе... тех ключей вообще нет
     
  4. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Ты случайно не к SOAP обращаешся? А то для него есть специализированные инструменты. Плюс наверняка к тому сервису прилагается документация с примерами. Нам на кофейной гуще гадать неудобно.
     
  5. tikhonshw

    tikhonshw Новичок

    С нами с:
    26 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    удалено - одна из обрабатываемых xml
    Код (Text):
    1.  
    2. убран
    для примера последний блок документа
    Код (Text):
    1.  
    2. убран

    немного добавлю.... XMLREADER отрабатывает как надо...
     
  6. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Понял. Ты не совета ждешь, а чтобы тупо за тебя сделали работу.
    Переношу тему в стрёмный раздел.
     
  7. tikhonshw

    tikhonshw Новичок

    С нами с:
    26 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    да нет я как раз жду совета.. не надо за меня делать..
    тогда удалите тему..
     
  8. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Зачем удалять? Вот решение: http://www.rosreestrxml.ru/

    Добавлено спустя 58 секунд:
    Мог бы хотябы намекнуть что за данные. Мой вопрос ты просто проигнорировал.
     
  9. tikhonshw

    tikhonshw Новичок

    С нами с:
    26 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    постом выше была ссылка на файл - вроде как ответ на вопрос о данных

    удалить.. за тем что.. люди приходят с вопросом а уходят как на основной ряде форумов ни с чем...
    можно и аккаунт удалить
     
  10. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    А смысл? Ты придешь под другим именем.

    Это лузерская позиция, друг. В этом мире никто тебе не обязан. Ты просишь — иди сам настречу, прислушивайся.

    Добавлено спустя 1 минуту 24 секунды:
    нед ))) мегабайт неформатированного XML это не ответ на вопрос что за данные. это предложение разгрести кучу.
    мог бы дать ссылку на первоисточник, это было бы хоть какой-то зацепкой. но нет… секреты, обидки, меня никто не любит, никто не понимает. сотру посты чтобы никто не видел моего горя.

    Добавлено спустя некоторое время:
    Не для тебя, но для тех, про придет через поиск ))) :

    Код (PHP):
    1. $sxe = simplexml_load_file(__DIR__.'/myfile.xml');
    2. /* В заголовке XML находишь упоминание конкретного "xmlns:ns#" */ 
    3. $sxe->registerXPathNamespace('c', 'urn://адрес про неймспейс из заголовка');
    4.  
    5. $result = $sxe->xpath('//c:Date');
    6.  
    7. foreach ($result as $title) {
    8.   echo $title . "\n";
    9. } 
    выведет 2015-01-22

    или
    Код (PHP):
    1. $sxe = simplexml_load_file(__DIR__.'/myfile.xml');
    2. $ns = $sxe->CertificationDoc->children('ns6', true);
    выведет
    Код (Text):
    1. SimpleXMLElement::__set_state(array(
    2.    'Organization' => 'филиал НИИЧАВО',
    3.    'Date' => '2015-01-22',
    4.    'Number' => '8911/222/15-7333',
    5.    'Official' =>
    6.   SimpleXMLElement::__set_state(array(
    7.      'Appointment' => 'Директор филиала',
    8.   )),
    9. ))
     
  11. tikhonshw

    tikhonshw Новичок

    С нами с:
    26 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    нет ни какого желание держать кучи разных аккаунтов

    зачем засорять сей прекрасный форум

    я чуть выше написал.... "немного добавлю.... XMLREADER отрабатывает как надо..."
    от себя - приведенный Вами пример работает... за строку $sxe->registerXPathNamespace('c', 'urn://адрес про неймспейс из заголовка'); - СПАСИБО... ее изначально было бы достаточно