Для чтения файлов XML используйте:
$XMLFile = new XMLReader();
if($XMLFile->open('file.xml') === TRUE){
while($XMLFile->read()) {
//Do something
}
$XMLFile->close();
}
Если я найду в XML-файле образец строки:
!+_)(*&^%$#@!~}|"?,../;'\[]=-
Отображается критическая ошибка и парсинг прекращается:
Warning: XMLReader::read() [xmlreader.read]: file.xml:16: parser error : xmlParseEntityRef: no name in test.php on line 841
Warning: XMLReader::read() [xmlreader.read]: An Error Occured while reading in test.php on line 841
В этом случае я хотел бы обработать ошибку и удалить файл xml. Может кто знает как исправить эту ошибку?