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));