Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Źle sformatowany XML
matino
post
Post #1





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


W mojej aplikacji bardzo często pobieram XML z innego serwera. Co jakiś czas widzę w logach:
  1. DOMDocument::loadXML() [domdocument.loadxml]: xmlParseEntityRef: no name in Entity

Googla mówi, że to wina źle sformatowanego XMLa, ale w moim kodzie nie ma walidacji XMLa:
  1. public static function element_value($xml, $name)
  2. {
  3. $dom = new DOMDocument();
  4. $dom->loadXML($xml);
  5. $nodelist = $dom->getElementsByTagName($name);
  6. if ($nodelist->length !== 0)
  7. {
  8. return $nodelist->item(0)->nodeValue;
  9. }
  10. else
  11. {
  12. return FALSE;
  13. }
  14. }

Czy ktoś wie jak wyłapać ładnie ten błąd?

Ten post edytował matino 9.05.2011, 08:07:32
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(matino @ 9.05.2011, 09:07:08 ) *
ale w moim kodzie nie ma walidacji XMLa:

<facepalm> ale loadXML sprawdza jego poprawność składniowa. Nic nie jest w stanie zrobić skoro "xml" to źel sformatowany śmieć.
Go to the top of the page
+Quote Post
matino
post
Post #3





Grupa: Zarejestrowani
Postów: 175
Pomógł: 30
Dołączył: 9.08.2007

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


Czy jest jakaś klasa, która poprawności nie będzie sprawdzać automatycznie?
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://pl2.php.net/manual/en/function.libx...rnal-errors.php

Użyj na początku funkcji, skryptu i nie będzie żadnych błędów dopóki ich nie pobierzesz.
Tylko nie spodziewaj się, że DOMDocument odczyta Ci źle sformatowane xml-e
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 15.09.2025 - 04:34