Ciao a tutti.
Ho il seguente problema: voglio convertire una stringa di testo in xml e di conseguenza attuare anche il processo inverso ovvero convertire la stringa da xml a testo normale.

Ora, son riuscito tramite qualche aiuto e qualche guida a realizzare il seguente metodo:

Codice PHP:
  
    
public String textToXML(javax.swing.text.Document swingDocumentthrows MessageFormatException {
    
DocumentBuilderFactory documentFactory DocumentBuilderFactory.newInstance();
    
DocumentBuilder documentBuilder;
    try {
        
documentBuilder documentFactory.newDocumentBuilder();
    } catch (
ParserConfigurationException ex) {
        throw new 
MessageFormatException("Errore durante la creazione del DocumentBuilder"ex);
    }
    
org.w3c.dom.Document document documentBuilder.newDocument();
    
Element root document.createElement("message");
    
document.appendChild(root);
    
//Element bold = document.createElement("bold");
//    bold.setTextContent("pippo");
  //  root.appendChild(bold);
    
Element messageContent document.createElement("text");
    try {
        
messageContent.setTextContent(swingDocument.getText(0swingDocument.getLength()));
    } catch (
BadLocationException ex) {
        throw new 
MessageFormatException("Errore durante l'estrazione del testo dal document swing"ex);
    }
    
root.appendChild(messageContent);

    
//scrive il document xml su una stringa di testo
    
TransformerFactory transformerFactory TransformerFactory.newInstance();
    
Transformer transformer;
    try {
        
transformer transformerFactory.newTransformer();
    } catch (
TransformerConfigurationException ex) {
        throw new 
MessageFormatException("Errore durante la creazione del Transformer"ex);
    }
    
StringWriter buffer = new StringWriter();
    
StreamResult result = new StreamResult(buffer);
    
DOMSource source = new DOMSource(document);
    try {
        
transformer.transform(sourceresult);
    } catch (
TransformerException ex) {
        throw new 
MessageFormatException("Errore durante la trasformazione del testo in xml"ex);
    }
    
System.out.println ("prova");
    return 
buffer.toString();

    } 
Ora, in questo modo io converto la mia stringa di testo in xml.
Ad esempio, partendo dalla stringa "ciao prova testo", ottengo come output la seguente stringa:

Codice PHP:
<?xml version="1.0" encoding="UTF-8" standalone="no"?><message><text>ciao prova testo</text></message>
Fin qui tutto ok, ora il problema principale, ovvero:
la mia stringa da convertire viene da un JTextPane, e la stringa si porta dietro varie proprieta' del testo come colore del font, stile (grassetto, corsivo, etc).
Ora quindi chiedo il vostro aiuto : come faccio per suddividere il mio documento xml in modo da avere vari nodi quanti sono gli stili possibili?
Ad esempio un nodo <bold> o un <italic> etc? E per il colore del testo?

Intuitivamente dovro' fare un ciclo for e scandagliare tutto il documento (che cambia sempre ovviamente) alla ricerca delle parole in grassetto etc, ma non capisco come fare.
Spero possiate aiutarmi, ciao