@4Geka
PHP

В чем моя ошибка (парсер)?

Здравствуйте, пытаюсь распарсить xml файл:

<?xml version="1.0" encoding="utf-8" ?> 
<xmlDoc>
<document quantity="1">
<reader>
  <entry>AB:ГОРОДСКОЙ ЧИТАТЕЛЬ</entry> 
  <entry>AA:5502d0933967dc713dea44699088b0cf</entry> 
  </reader>
<list>
  <entry codePlace="B001" place="Библиотека" total="1" /> 
  </list>
  </document>
  </xmlDoc>


Вот таким php скриптом:

<?php

     error_reporting(E_ALL);
     ini_set('display_errors', 'on');

     $xml = simplexml_load_file('index.xml');

     foreach ($xml->reader->entry as $entry) {
         echo $entry . '<br>';
     }


Однако выдает ошибку:
Warning: Invalid argument supplied for foreach() in (путь) on line 8

Что я сделал не так в этом скрипте? Спасибо заранее.
  • Вопрос задан
  • 146 просмотров
Решения вопроса 2
Target1
@Target1
foreach ($xml->document->reader->entry as $entry) {
    echo $entry."\n" ;
}


$xml->reader->entry ты обращался к пустому значению и как результат ошибка в дальнейшем просто проверяй что передаешь в цикл print_r / var_dump
Ответ написан
alexyarik
@alexyarik
Битрикс разработчик
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__).'/..');

$catalogUrl = $_SERVER["DOCUMENT_ROOT"]."/xml.lox/xml.xml";
        $obXml = simplexml_load_file($catalogUrl);

        if (!$obXml)
        {
            return false;
        }
		$arReader = $obXml->document->reader->entry;
		foreach ($arReader as $entry) {
         echo $entry . '<br>';
     }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы