начинается как нужно
именно так
Что то не то
while($reader->read()) { if($reader->nodeType == XMLReader::ELEMENT) { if($reader->localName == 'offer') { $k++; $data[$k]['id'] = $reader->getAttribute('id'); } } if($reader->localName == 'article') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['article'] = $reader->value; } } if($reader->localName == 'categoryId') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['categoryId'] = $reader->value; } } if($reader->localName == 'currencyId') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['currencyId'] = $reader->value; } } if($reader->localName == 'description') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['description'] = $reader->value; } } if($reader->localName == 'model') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['model'] = $reader->value; } } if($reader->localName == 'name') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['name'] = $reader->value; } } if($reader->localName == 'oldprice') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['oldprice'] = $reader->value; } } while ($reader->localName == 'param') { if($reader->nodeType == XMLReader::ELEMENT) { $data[$k]['param'].= "*".$reader->getAttribute('name').":"; } $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['param'].= $reader->value.""; } } if($reader->localName == 'picture') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['picture'] = $reader->value; } } if($reader->localName == 'price') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['price'] = $reader->value; } } if($reader->localName == 'url') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['url'] = $reader->value; } } if($reader->localName == 'vendor') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['vendor'] = $reader->value; } } if (count($data[$k])>=11) print $k."-".$data[$k]['id']."\n"; if ($k==12) break; }
Выдает
по 7 раз один и тот же элемент "видит"
Что не так?
while ($reader->localName == 'param') {
$reader->read();
после while $reader->read(); не нужно
сначала писало, что памяти не хватает
увеличил
начало что-то другое писать
уже не помню
начал с XMLReader переписывать---------- Добавлено 27.12.2016 в 14:30 ----------Контент
while($reader->read()) { if($reader->nodeType == XMLReader::ELEMENT) { if($reader->localName == 'offer') { $k++; $data[$k]['id'] = $reader->getAttribute('id'); } } if($reader->localName == 'article') { $reader->read(); if($reader->nodeType == XMLReader::TEXT) { $data[$k]['article'] = $reader->value; } } while ($reader->localName == 'param') { $reader->read(); if($reader->nodeType == XMLReader::ELEMENT) { $data[$k]['param'].= $reader->getAttribute('name')."!"; } if($reader->nodeType == XMLReader::TEXT) { $data[$k]['param'].= ":".$reader->value."|"; } } if ($k==10) break; } print_r($data);
Результат
Не берет первого атрибута
Не видит его
Не понимаю почему
под 300 метров
в бд
скриптом пхп используя SimpleXML
837 тысяч записей
SeVlad, по wp-includes/kses.php согласен
а по файлах темы как быть?
спасибо!
так той версии темы нет у меня
та сервер апи
это понятно
какие варианты запросов пробовать - вот в чем проблема
какие значение для $query и $vendor присваивать?
это не из сайта, а из БД чужой выборка
к ней доступа у меня нет---------- Добавлено 22.12.2016 в 12:15 ----------
у товара есть название, бренд, модель
если названия нет - точнее не указано, то оно формируется как бренд + модель---------- Добавлено 22.12.2016 в 12:16 ----------
оно то так, но как оказывается '' - не считается пустым названием