![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 22.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
witam
mam problem w jaki sposob z uzyciem konstrukcji try catch napisac skrypt ktory w razie napotkania bledu podczas parsowania xmlreaderem nie bedzie sie wywalal tylko pominie mi tego blednego xml'a (bo jest ich kilka tys.) na razie mam konstrukcje w stylu
nie mniej jednak mimo wszystko przy blednym xml'u z jakim mam doczynienia dostaje i tak komunikat XMLReader::read() [function.XMLReader-read]: input conversion failed due to input error, bytes 0x81 0x4F 0xC5 0xBB czy ja cos robie zle? moze w jakis inny sposob nalezy oblsuzyc taki wyjatek moze w jakis inny sposob mozna wczesniej sprawdzic poprawnosc xml'a zeby ominac ten blad wziasc sie za kolejny plik z gory dzieki za wszelkie podpowiedzi pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Faktycznie isValid nie sprawdza całego drzewa. Wieć wystarczy po prostu skorzystać z read() by wyłapać czy czy xml jest błędny.
Zrób sobie funkcję, która będzie parsowała xmla i jeżeli będzie błędny to zwróci false, jeżeli będzie ok to zwróci jego treść. Taki jest raczej najprostszy sposób. Dodatkowo spróbuj podać kodowanie xmla (drugi atrybut czy open()), może rozwiąże twój problem. Jeżeli nie wypuśc tego xmla to potestujemy. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 18:21 |