| Autor | Zpráva | ||
|---|---|---|---|
| JardaB Profil |
#1 · Zasláno: 21. 6. 2013, 13:30:30
Zdravím,
poradí někdo s problémem, kdy chci vypisovat chyby při načítání XML? Problém je ten, že když jsem načítal takhle, bylo vše ouk, cyklus projel položky a potřebné zpracoval: $xml = new XMLReader (); // nový reader
$xml->open($klient_xml[xml], LIBXML_NOENT|LIBXML_DTDLOAD|LIBXML_DTDATTR); // otevře soubor
while($xml->read())
{
// zpracování položek
}Chtěl jsem ve finále přidat výpis validačních chyb, kód viz níže. Kde se to zastaví na while($xml->read()) a oznámí chybu: Warning: XMLReader::read() [xmlreader.read]: An Error Occured while reading in Když odstraním řádek zapnutí validace, chyba se neobjeví, ale logicky pak nedostanu výpis chyb. Dokumenty mi normálně prochází jinými parsery. libxml_use_internal_errors(true); // nastavení obsluhy chyb
$xml = new XMLReader (); // nový reader
$xml->open($klient_xml[xml], LIBXML_NOENT|LIBXML_DTDLOAD|LIBXML_DTDATTR); // otevře soubor
$xml->setparserProperty(XMLReader::VALIDATE, true); // zapnutí validace
while($xml->read())
{
}
foreach ($errors as $chyba) // vypis chyb
{
$vypis_chyb.= $chyba->file.":".$chyba->line.":".$chyba->column.":".$chyba->message."<br>";
}
echo $vypis_chyb; |
||
|
Časová prodleva: 3 dny
|
|||
| JardaB Profil |
#2 · Zasláno: 24. 6. 2013, 10:54:28
Vyřešeno použitím schémata RELAX NG, výše uvedené vyžadovalo připojení DTD
|
||
|
Časová prodleva: 13 let
|
|||
0