Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Работа с XML файлами. Хранение, обработка... [2]
в принципе я уже написал обработку прайса, беру из него отдельно категории и отдельно продукты.
теперь получается нужно писать в файл по нужному количество блоков и дальнейшей обработки, как вы и предложили.
DeepVarvar
Отправлено: 27 Ноября, 2014 - 13:21:41
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
dropoff пишет:
пойдет для валидации?
Ага. (Добавление)
dropoff пишет:
теперь получается нужно писать в файл по нужному количество блоков и дальнейшей обработки, как вы и предложили.
Я имел ввиду вообще создать кучу файлов и выводить их в выпадающем селекте. Когда человек разобрал блок, нажимает экспорт в БД, тогда разобранный файл удаляется, а до этого, все правки внесенные в этот XML-объект перезаписывать в этот самый файл. Тут правда если работать будет несколько человек, надо позаботиться о блокировках редактируемых файлов - это кстати можно вынести в БД - вася правит файл А, петя файл Б, тогда маша увидит в списке только файл В, к редактированию которого и приступит.
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
DeepVarvar пишет:
Я имел ввиду вообще создать кучу файлов и выводить их в выпадающем селекте.
такое будет не удобно. нужен поиск по и сортировка по товарам, чтобы находить нужные и проделывать с ними необходимые операции.
я думал разбить на части, чтобы просто импортировать в БД было удобнее.
Sail
Отправлено: 27 Ноября, 2014 - 13:49:47
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
dropoff пишет:
я думал разбить на части, чтобы просто импортировать в БД было удобнее
Предложенная DeepVarvar схема для этого и предназначена.
DeepVarvar
Отправлено: 27 Ноября, 2014 - 14:16:20
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
dropoff пишет:
нужен поиск по и сортировка по товарам
Первичный экспорт товаров не должен включать в себя полный функционал управления, фильтрации и пр. Первым этапом достаточно убедиться что все ровно, что-то подправить и экспортировать уже в большую таблицу в БД, а уже там делать все что угодно и когда угодно.
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
получить через xpath интересующие корневые узлы блоков, в цикле считать до N, конкатенируя $out .= $node->asXML(); а когда дошел N, записать в файл, и так пока узлы не кончатся. Только сразу скажу - корневой элемент в результирующем файле должен быть ОДИН, это значит надо обернуть вывод типа так:
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
DeepVarvar пишет:
получить через xpath интересующие корневые узлы блоков
если честно, не очень понял как это сделать.
dropoff
Отправлено: 29 Ноября, 2014 - 11:27:03
Посетитель
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
разобрался.
подскажите последнее. как правильно в while мне отсчитать 100 элементов массива , чтобы записать в файл.
точнее как правильно условие составить, а то чет у меня пишет больше чем нужно.
Покинул форум
Сообщений всего: 310
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
Спасибо.
Только возник вопрос. Мне $xmlString как получить из XMLReader ?
DeepVarvar
Отправлено: 29 Ноября, 2014 - 13:53:11
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Зачем? Я же говорил что достаточно загрузить текст файла через ф-цию sipmlexml_load_file, которая при успешном парсе вернет объект класса SimpleXMLElement, т.е.:
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.