- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть такой xml
Вот таким кодом обрабатываю
while($reader->read()) {
if($reader->nodeType == XMLReader::ELEMENT) {
if($reader->localName == 'offer') {
print $reader->getAttribute('id')."\n";
$reader->read();
while ($reader->nodeType !== XMLReader::END_ELEMENT) {
$reader->read();
if ($reader->nodeType == XMLReader::ELEMENT and $reader->localName == 'param') {
print $reader->getAttribute('name')."\n";
$reader->read();
if($reader->nodeType == XMLReader::TEXT) {
print $reader->$value."\n";
}
}
}
}
}
}
В результате выводит только O14112180643
Ни атрибутов ни значения ноды "param" не выводит
Что я делаю не правильно?
Спасибо!
п.с. с самого утра мучаюсь
---------- Добавлено 28.12.2016 в 14:14 ----------
не срабатывает
что то там не видно чтоб начиналось с xml
может так попробуйте
and $reader->name== 'param'
По-видимому, это образец записи.
что то там не видно чтоб начиналось с xml
начинается как нужно
По-видимому, это образец записи.
именно так
Вот если "вприглядку" и навскидку - без меры понавтыкано $reader->read().
Гуглим php xmlreader to array на php.net находим хороший пример - копипестим.
Чего там голову с утра ломать..
rereg, все что в этом примере можно через simpleXML одним махом проще сделать
в том и дело, что мне не нужно складывать все в один массив (xml большой)
нужно работать по элементно
---------- Добавлено 29.12.2016 в 12:32 ----------
еще не могу понять сам прием
как if($xml->nodeType == XMLReader::TEXT) $assoc = $xml->value;
в нужные [$n]['val'] пишется текстовое значение без их указания ?
Гуглим php xmlreader to array на php.net находим хороший пример - копипестим.
Чего там голову с утра ломать..
нужно не в массив складывать, а по одному элементу массива обрабатывать
как то никак не соображу как это реализовать использую приведенную функцию
joost, лови
while($reader->read()) {if($reader->nodeType == XMLReader::ELEMENT) {
if($reader->localName == 'offer') {
print $reader->getAttribute('id')."\n";
$reader->read();
while ($reader->localName != 'offer') {
if($reader->nodeType == XMLReader::ELEMENT and $reader->localName == 'param') {
print $reader->getAttribute('name')."\n";
$reader->read();
if($reader->nodeType == XMLReader::TEXT) {
print $reader->value."\n";
}
}
$reader->read();
}
}
}
}
joost, лови
while($reader->read()) {if($reader->nodeType == XMLReader::ELEMENT) {
if($reader->localName == 'offer') {
print $reader->getAttribute('id')."\n";
$reader->read();
while ($reader->localName != 'offer') {
if($reader->nodeType == XMLReader::ELEMENT and $reader->localName == 'param') {
print $reader->getAttribute('name')."\n";
if($reader->nodeType == XMLReader::TEXT) {
print $reader->value."\n";
}
}
$reader->read();
}
}
}
}
Спасибо!
Но немного что-то не то
Для
результат
Пол
Цвет
Размер
O14112180643
Пол
Цвет
Размер
$reader->value видит как пустое или его не видит
---------- Добавлено 29.12.2016 в 14:56 ----------
$xml->read();
забыл после определения нужной ноды, чтобы далее прочитать
Согласен, не обратил внимания. Исправил код.
---------- Добавлено 29.12.2016 в 14:25 ----------
$xml->read();
забыл после определения нужной ноды, чтобы далее прочитать