Massimo Caliman
Massimo Caliman
~1 min read

Categories

  • computer-science

Tags

  • Java

Languages

  • Italian

Ogni documento XML su cui lavoriamo dovrebbe essere formattato correttamente, salvato con il giusto encoding ecc. Un caso classico è il messaggio “Content is not allowed in prolog” (SAXParseException) Editiamo a mano il file con un editor (esadecimale) e togliamo in testa “ef bb bf”. Visto che usiamo Java molto meglio mettere un piccolo work-around di appena due righe di codice :

Matcher matcher = (Pattern.compile("^([\\W]+)<")).matcher( xmlString.trim() );
xmlString = matcher.replaceFirst("<");

Questo prima di passare il tutto al nostro oggetto SAXBuilder

SAXBuilder builder = new SAXBuilder();
Document document = builder.build(new StringReader(xmlString));