Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Xml Reader wywala błąd podczas przedwarzania pliku
robert0770
post 3.02.2018, 10:50:35
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

Ostrzeżenie: (0%)
-----


cześć mam plik xml który ową pozycje ma w znaczkach cdata

podczas jego przetwarzania (czytania) wywala błąd:


  1. :49756: parser error : Extra content at the end of the document in /var/www/html/projekt/vendor/hakre/xmlreaderiterator/src/XMLReaderNode.php on line 224
  2. PHP Warning: XMLReader::expand(): DUCATO Autobus (244, Z_) | 2.0 4x4 (81KW/110 KM) | 2002.05 - 2006.07 in /var/www/html/projekt/vendor/hakre/xmlreaderiterator/src/XMLReaderNode.php on line 224
  3. PHP Warning: XMLReader::expand(): ^ in /var/www/html/projekt/vendor/hakre/xmlreaderiterator/src/XMLReaderNode.php on line 224
  4. PHP Warning: XMLReader::expand(): An Error Occurred while expanding in /var/www/html/projekt/vendor/hakre/xmlreaderiterator/src/XMLReaderNode.php on line 224



a w tej linijce mam

  1. 49756 DUCATO Autobus (244, Z_) | 2.0 4x4 (81KW/110 KM) | 2002.05 - 2006.07^M^M$


sprawdzałem z takimi przełącznikami

  1. cat -ETvAn


mógłby ktoś nakierować czemu?

Ten post edytował robert0770 3.02.2018, 10:52:12
Go to the top of the page
+Quote Post
Pilsener
post 3.02.2018, 19:32:00
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Cytat
mam plik xml


  1. 1. 49756 DUCATO Autobus (244, Z_) | 2.0 4x4 (81KW/110 KM) | 2002.05 - 2006.07^M^M$


Nie wygląda to jak plik XML.
Go to the top of the page
+Quote Post
darko
post 4.02.2018, 13:03:10
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Cytat(Pilsener @ 3.02.2018, 19:32:00 ) *
Nie wygląda to jak plik XML.

Napisał, że ma to w sekcji CDATA.

robert0770 - pokaż jakiś kod, żeby można było coś więcej wywnioskować. Jeśli ten dash (^) faktycznie jest w sekcji CDATA, to nie powinno generować takiego problemu. Polecam włączyć wyświetlanie błędów na początku skryptu:

  1. ini_set('display_errors', 'On');


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
robert0770
post 5.02.2018, 09:16:51
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 18.02.2015

Ostrzeżenie: (0%)
-----


  1. $xml->open($url)
  2. $itemIterator = new \XMLElementIterator($xml, 'items');
  3.  
  4. foreach ($itemIterator as $item){
  5. $item = $item->getSimpleXMLElement();
  6. (.............)
  7. $content = '';
  8. if (!empty($item->content))
  9. $content .= $item->content;
  10. else
  11. {
  12. $contentTmp = $item->getChildElements('content');
  13. $content = trim($contentTmp->__toString());
  14. }
  15. (.............)
  16. }


tylko content ma znaczniki cdata ale nie potrafiłem ich poprawnie wyciągnąć (więc poradziłem sobie tak jak wyżej) bo standardowa opcja ($item->content) filtrowała wszystko co było w sekcji cdata

przetestowałem plik jeszcze raz i o dziwo już jest dobrze nie wywala tego błądu w tym miejscu
dziwna sprawa

Ten post edytował robert0770 5.02.2018, 09:17:26
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 23:51