Необходимо было перенести информацию из 10 XML файлов в базу данных. В каждом файле по 500 тыс. строк. Все было отлично, пока на 10-м файле не возникла ошибка. Алгоритм был следующий:
$xml = file_get_contents( 'xml/hotels_static/' . $_GET[ 'number' ] . '.xml' ); try { $xml = new SimpleXMLElement( $xml ); } catch ( Exception $e ) { echo $e->getCode() . ': ' . $e->getMessage(); die; }
Метод самостоятельно поиска по файлу отпал быстро – не люблю тратить время. Мне подсказали следующий сервис:
Как ни странно обычный элемент textarea принял мои 500 тыс. строк, загрузил их и подсказал линию, содержащую ошибку. Как и предполагалось, XML содержал невалидный элемент:
- 
Данный элемент не является HTML-сущностью, поэтому и вызывал ошибку.