Domanda

Ho un problema con un parser SAX XML. Voglio analizzare un file XML che ovviamente non è valido (ottengo un ExpatParser $ ParseException: alla linea 5, colonna 169: non ben formato (invalid token)). So quello che è sbagliato, ma il file XML non ist creato da me ... così non posso cambiarlo.

Ora voglio gestire tale errore nel mio DefaultHandler. Ma né errore (), né FatalError (), né di avviso () viene richiamato ...

Posso in qualche modo interrompere il processo di analisi, dire al parser che cosa fare con quel pezzo di XML non valido e continuare l'analisi ???

Grazie, JPM

È stato utile?

Soluzione

Direi che questo è un SAXParseException fatale errore che il parser SAX non può recuperare. In tal caso, probabilmente è necessario fissare la cattiva etichetta prima di tentare di analizzarlo (come Robert suggerisce nel suo commento).

Si potrebbe voler considerare di usare una regex Java per sistemare la cattiveria conosciuto nel XML, ad esempio
Regex per aver citato XML non quotate attributi

Per la cronaca, io sono non sostenendo utilizzando regex effettivamente parse XML !

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top