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(swof);
    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(), 0s.length());
        
hd.endElement("""""nome");
       
        
hd.startElement("""""cognome"atts);
        
"Rossi";
        
hd.characters(s.toCharArray(), 0s.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.