Ciao,
nel codice del progetto su cui sto lavorando ho un vecchio metodo, scritto tempo addietro non so da chi, che si occupa di generare codice XML in base a informazioni recuperate al momento, e restituirlo come stringa.
Di recente è stata però aggiornata nel progetto la libreria xercesImpl.jar alla versione 2.9, e ora le classi OutputFormat e XMLSerializer risultano deprecate.
Voi sapete come modificare il mio codice in modo da usare una "nuova" modalità di utilizzo che non sia deprecata?
Ho provato a cercare in internet e ho trovato questa faq <http://xerces.apache.org/xerces2-j/f...ral.html#faq-6>, ma non ci ho capito nulla su come dovrebbe diventare il mio codice. 
Qui una versione ridotta e molto semplificata del mio metodo:
Codice PHP:
public String generaDocumento() {
OutputFormat of = new OutputFormat("XML", "UTF-8", true);
of.setIndent(1);
of.setIndenting(true);
StringWriter sw = new StringWriter();
XMLSerializer xs = new XMLSerializer(sw, of);
try {
ContentHandler hd = xs.asContentHandler();
hd.startDocument();
AttributesImpl atts = new AttributesImpl();
atts.addAttribute("", "", "id", "CDATA", "1");
hd.startElement("", "", "rubrica", atts);
atts.clear();
hd.startElement("", "", "nome", atts);
String s = "Mario";
hd.characters(s.toCharArray(), 0, s.length());
hd.endElement("", "", "nome");
hd.startElement("", "", "cognome", atts);
s = "Rossi";
hd.characters(s.toCharArray(), 0, s.length());
hd.endElement("", "", "cognome");
hd.endElement("", "", "rubrica");
hd.endDocument();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return sw.toString();
}
Il codice sputa fuori una stringa con questo contenuto:
codice:
<rubrica id="1">
<nome>Mario</nome>
<cognome>Rossi</cognome>
</rubrica>
Grazie.