Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][PHP]Obsługa wyjątków przy setschema
Forum PHP.pl > Forum > Przedszkole
Muadib
Mam pytanie, napisąłem sobie prostą funkcje która validuje xml za pomoca schemy xsd i terach chciałbym stworzyc do tego odpowiednio ładną obsługe wyjątków z czym mam problem gdyż mi to po prosty nie chce działać może ktoś dopatrzy sie jakiegoś rozwiązania.

  1.  
  2. private function czytajXML($plik)
  3. {
  4. $czytnik = new XMLReader();//otwarcie czytnika xml
  5. $document = new DOMDocument;//stworzenie obiektu DOM
  6.  
  7. try
  8. {
  9. $czytnik->open($plik);//otwarcie pliku tymczasowego XML
  10. $czytnik->setSchema($this->xmlSchema);//walidacja ze schema XSD
  11.  
  12. while ($czytnik->read())
  13. {
  14. $nowyPojazd = 'vehicle' === $czytnik->name && $czytnik->nodeType === XMLReader::ELEMENT; //uwarunkowanie elemntow glow nych XML na ktore zostanie podzielonu caly dokument
  15.  
  16. if($nowyPojazd && $czytnik->isValid())
  17. {
  18. $this->obslugaXMLiSQLite(simplexml_import_dom($czytnik->expand($document))); //obsługa pojedynczego elementu DOM
  19. }
  20. }
  21. $czytnik->close();
  22. }
  23. catch(Exception $e)
  24. {
  25. echo("Błąd walidacji pliku XML: ".$e->getMessage());
  26. }
  27. }
  28.  
toffiak
Z manuala wynika że metody takie jak open(), setSchema(), read() zwracją TRUE lub FALSE więc aby przechwycić wyjątek metoda obslugaXMLiSQLite() musi go wyrzucać, czy tak w rzeczywistości jest ?, brak tutaj jej kodu.
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.