Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Błąd parsowania XML: nieprawidłowo sformowany [Firefox]
puc
post 6.04.2010, 16:53:17
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 4.12.2004

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


Witam,
mam problem z poprawnym wyświetleniem generowanego XML'a (pod IE działa pod FF nie). wyskakuje komunikat jak w temacie. problem jest z nietypowym znakiem (ktoś źle wpisał nazwę przy zapisie do bazy - albo zrobił to celowo). jest jakiś pomysł na ominięcie tego? (próbowałem iconv, mb_convert... i nic). dodam tylko że zestaw znaków alfanumerycznych również raczej nie zadziała (bo musiałbym mieć tablicę znaków wszystkich języków bo jest to platforma "multijęzyczna")

Jakieś pomysły??
Kod błędu jest dokładnie taki:
CODE
Błąd parsowania XML: nieprawidłowo sformowany
Obszar: http://....../
Numer linii: 5, kolumna 17: <name>XXXXXX </name>

czepia się oczywiscie ostatniego znaku w <name>
Go to the top of the page
+Quote Post
batman
post 6.04.2010, 19:17:13
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Jeśli to Ty generujesz pliki XML, to do każdego węzła, w którym występuje tekst, dodawaj CDATA.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
puc
post 6.04.2010, 21:03:39
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 4.12.2004

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


niestety nie pomogło :/
teraz jest komunikat:
CODE
Błąd parsowania XML: nieprawidłowo sformowany
...
Numer linii: 5, kolumna 27:
<name><![CDATA[ XXXXXX  ]]></name>
Go to the top of the page
+Quote Post
batman
post 7.04.2010, 06:54:00
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Skoro CDATA nie dało rady, to jest to problem z kodowaniem. Usuń ten dziwny znaczek, który znajduje się w węźle name i zacznie działać.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
puc
post 7.04.2010, 09:13:38
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 4.12.2004

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


Cytat(batman @ 7.04.2010, 06:54:00 ) *
Skoro CDATA nie dało rady, to jest to problem z kodowaniem. Usuń ten dziwny znaczek, który znajduje się w węźle name i zacznie działać.

to że jest błąd z kodowaniem to ja wiem smile.gif pytanie czy da się 'z automatu' usunąć takie dziwne znaki aby nie powodowały błędów - to są dane zaciągane z bazy a tam userzy je wprowadzają więc takie udziwnienia mogą się niestety pojawiać (specjalnie lub jak w tym opisywanym przypadku - przez nieuwagę) :/
Go to the top of the page
+Quote Post
batman
post 7.04.2010, 09:27:47
Post #6





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Niestety nie ma na to rady. Musiałbyś znaki te filtrować przed zapisaniem do bazy. Teraz niewiele da się zrobić.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
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 - 17:37