Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    leggere un file Xml in java - Problemi di escape

    Salve a tutti.
    Ho un piccolo intoppo su queste operazione:
    Leggo un file in xml con java. metto i valori dei figli in un oggetto ArrayList di Stringhe e lo do in pasto all ObjectMapper per convertirlo in un formato Json. Vi mostro un pò di codice:

    Classe.java
    codice:
    public void listValoriXml() {
            try {
              //mi creo l'oggetto SaxBuilder per il parsing del file xml classe java org.jdom2.input.SAXBuilder
                SAXBuilder builder = new SAXBuilder();
               Document doc = builder.build(new File(pathfile));
               Element rootElement = doc.getRootElement();
               List children = rootElement.getChildren("modalities");
                Iterator iterator = children.iterator();
                while (iterator.hasNext()){
                    Element element = (Element)iterator.next();
                    Modalities mod1 = new Modalities(); //oggetto ArrayList     
                    mod1.setValue(element.getValue());
                    this.addItem(mod1);
                }
            }
            catch (Exception e){
                e.printStackTrace();
            }
        }

    modality.xml
    codice:
    <modalities>
       <modality>
         <nome> CC </nome>
        </modality>
    
       <modality>
         <nome> TC</nome>
        </modality>
    </modalities>

    Output:
    codice:
    /n /t /n CC /t /nTC/t /n

    Ora mod1 contiene la lista dei valori che mi interessano del file xml. Però oltre ai valori dei vari tag mi restituisce anche i caratteri di escape /n /t.
    Credo sia un problema di Parser, ora mi chiedo qualcuno sa indicarmi una strada o se conosce un modo per eliminare sti caratteri e restituirmi solo i valori che mi interessano? Grazie
    Ultima modifica di LeleFT; 21-01-2015 a 17:22 Motivo: Aggiunti i tag CODE e rimossa colorazione testo

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Java ha un forum dedicato.
    Sposto.

    Ho anche aggiunti gli appositi tag [CODE] .. [/CODE] nelle parti di codice, in modo da mantenere formattazione ed indentazione dello stesso.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da victorArt Visualizza il messaggio
    Output:
    codice:
    /n /t /n CC /t /nTC/t /n

    Ora mod1 contiene la lista dei valori che mi interessano del file xml. Però oltre ai valori dei vari tag mi restituisce anche i caratteri di escape /n /t.
    Quindi, scusa se lo chiedo ma è per capire la tua richiesta: a te non interessa "modellare" in tuoi oggetti la struttura di quel xml (es. Modalities che contiene N oggetti Modality con il nome) ma solo ottenere una pura stringa del tipo "CC TC" senza newline o tab in mezzo/attorno?

    Allora puoi passare quel value al metodo Text.normalizeString ("normalizza" il testo, vedi javadoc).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  4. #4
    Ciao grazie della risposta e scusa per il ritardo, comunque si mi servivano soltanto i valori CC TC da poi mappare in json. Comunque ho risolto usando un altro metodo per scorrere l'albero. L'oggetto NodeList in questo caso il risultato è stato quello voluto, mentre usando quello che vi avevo esposto prima mi dava una stringa con caratteri di escape.
    Proverò con il tuo metodo pure appena c'avrò tempo. Grazie ancora
    Ps.
    Se qualcuno è incappato nel mio stesso problema posso postare il codice che ho utilizzato


    Alla prossima
    victorArt

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.