Po używaniu 'wyszukaj', doszedłem do wniosku, że potrzebny mi SAX parser, albo PULL parser. Wybór padł na XMLReader i file_get_contents. W file_get_contents precyzuję zakres znaków od 0 do X, ściągam ten kawałek i próbuję parsować niepoprawny plik xml, skacząc z elementu na element. Niestety, kończy się to komunikatem Extra content at the end of the document in.
Może można podejść do problemu inaczej? Sam nie wiem jak zachowuje się pobieranie zdalnego pliku jako 'strumień'? A może jest jeszcze inny sposób?
Być może poruszone przeze mnie zagadnienie jest już opracowane, ale ja sam nie mam takiej wiedzy. Spróbuję jednak zadać ciut inne pytanie. Otóż, co można wykorzystać do parsowania kawałka pliku XML, żeby wydobyć z niego pełne elementy, ignorując błędy?
SAX4PHP przy tej próbie wyrzuca błąd :
Cytat
SAXException >> [5]: Invalid document end at 1,4251
Mój pomysł polega na tym, żeby pociągnąć strumieniem fragment pliku XML(RSS feed) i sprawdzać go po kawałku. Jeśli okaże się, że przeczytany fragment jest już w bazie danych, skrypt przestanie dalej czytać ten plik, co zaoszczędzi transfer.