Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: simplexml - invalid xmlChar value
Forum PHP.pl > Forum > PHP
Regss
Witam.
Zaczynam zabawę z simplexml. Oto mój prosty skrypt:

  1. <?php
  2. $z_xml = simplexml_load_file('videodb.xml');
  3. foreach ($z_xml->movie as $z_movie)
  4. {
  5. echo "$z_movie->title - $z_movie->fileinfo - $z_movie->studio - ";
  6. foreach ($z_movie->fileinfo as $z_fileinfo)
  7. {
  8. foreach ($z_fileinfo->streamdetails as $z_streamdetails)
  9. {
  10. foreach ($z_streamdetails->video as $z_video)
  11. {
  12. echo "$z_video->codec<br>";
  13. }
  14. }
  15. }
  16. }
  17. ?>


Otrzymuje błąd:
  1. Warning: simplexml_load_file() [function.simplexml-load-file]: videodb.xml:69293: parser error : xmlParseCharRef: invalid xmlChar value 11 in D:\Programy\VertrigoServ\www\xml\index.php on line 3
  2.  
  3. Warning: simplexml_load_file() [function.simplexml-load-file]: y przeżyli, zmienia w potwory. Robert Neville jest ostatnim człowiekiem &#x0B; in D:\Programy\VertrigoServ\www\xml\index.php on line 3
  4.  
  5. Warning: simplexml_load_file() [function.simplexml-load-file]: ^ in D:\Programy\VertrigoServ\www\xml\index.php on line 3
  6.  
  7. Warning: Invalid argument supplied for foreach() in D:\Programy\VertrigoServ\www\xml\index.php on line 4


Jak prosto pominąć nieobsługiwane znaki?
Pozdrawiam.
Fifi209
Możesz pokazać nam plik xml który parsujesz?
Regss
Proszę bardzo:

videodb.xml
Skróciłem lekko plik bo ważył 8MB

Zamierzam napisać skrypt przenoszący bazę z xml do mysql, może lepiej jest użyć xmlreader będzie szybciej?
wmatusiak
Kod
&#x0B;

Jest nie dozwolonym znakiem w dokumentach XML 1.0 stąd problem
XML 1.1 już pozwala na użycie tego znaku nie pamiętam czy simplexml potrafi sobie poradzić z 1.1 (nie mam na tej maszynie php więc nie mam jak sprawdzić).
Najprościej zmień w nagłówku
Kod
version="1.0"

na
Kod
version="1.1"

I spróbuj ponownie wink.gif jak zadziała to znaczy że simplexml radzi sobie z 1.1 jak nie zadziała to ja bym ten znak porostu usunął.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.