Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Problema Stringhe

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60

    Problema Stringhe

    Salve ragazzi.. Ho un problema..
    Ho trasformato un pdf in xml.. successivamente mi serviva trasformalo nuovamente in stringa però tenendo la scrittura di un xml

    ES:

    <nome> Franco </nome>
    <cognome> Pietruzzo </cognome>
    <indirizzoMail> aaaaaa </indirizzoMail>
    <indirizzoMail> bbbbbb </indirizzoMail>

    tanti indirizzi email..

    Ora dovrei riuscire a estrarre tutti i dati..
    nome e cognome contenuti in due variabili stringhe mentre gli indirizzi in un vettore (in quanto non so a priori quanti sono)..
    Come fare???
    Sono in difficoltà..

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema Stringhe

    Originariamente inviato da parzi
    <nome> Franco </nome>
    <cognome> Pietruzzo </cognome>
    <indirizzoMail> aaaaaa </indirizzoMail>
    <indirizzoMail> bbbbbb </indirizzoMail>

    Ora dovrei riuscire a estrarre tutti i dati..
    Per estrarre informazioni da documenti XML si usano degli appositi "parser". Innanzitutto dovresti avere chiari i vari approcci che si possono usare: principalmente SAX o DOM. Dipende da come/cosa devi analizzare del documento. Poi scegliere quale API/libreria usare, se le API JAXP del framework o direttamente le API di un parser esterno.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    Ho usato dom per trasformare il pdf in xml..
    creando appunto una struttura ad albero..
    Ora devo estrarre alcuni valori dei tag
    a me interessa estrarre il nome con gli indirizzi per poi associarli in una hashmap in modo di avere come chiave il nome e come secondo valore un vettore di indirizzi..
    non so come fare..
    potresti darmi una mano?
    Grazie mille...

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da parzi
    Ho usato dom per trasformare il pdf in xml..
    creando appunto una struttura ad albero..
    Ora devo estrarre alcuni valori dei tag
    a me interessa estrarre il nome con gli indirizzi per poi associarli in una hashmap in modo di avere come chiave il nome e come secondo valore un vettore di indirizzi..
    non so come fare..
    Ok ma devi precisare meglio. Hai un file XML e devi ancora parsarlo oppure hai già parsato e hai il "document" in memoria?
    Ma sopratutto, quale API hai usato? Non ce n'è solo una .... bisogna vedere.

    E comunque se hai l'oggetto document, per trovare quello che si vuole ci sono sostanzialmente 2 strade. O si "naviga" nell'albero, si prendono i figli, poi i figli dei figli ecc... e si fanno test sui tipi di nodi e sui nomi ecc.... fino a quando trovi ciò che ti serve. Oppure si può sfruttare XPath (se la API usata lo supporta) che è semplicemente un modo compatto per dire es. "trovami tutti i nodi X che stanno sotto Y".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    Ho già il documento parsato..
    Ho trasformato il pdf in stringa con uno stripper dopodiche con Dom l'ho trasformato in xml..
    Posto il codice:


    public static String createXML(Paper paper){
    try {
    DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
    DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
    Document doc = docBuilder.newDocument();

    Element root = doc.createElement("paper");
    doc.appendChild(root);

    Element child1 = doc.createElement("title");
    root.appendChild(child1);
    Text text = doc.createTextNode(paper.getTitle());
    child1.appendChild(text);

    Element child2 = doc.createElement("author");
    root.appendChild(child2);
    Text text1 = doc.createTextNode(paper.getAuthor());
    child2.appendChild(text1);

    for (int j=0;j<paper.getReferences().length; j++){
    Element child3 = doc.createElement("references");
    root.appendChild(child3);
    Text text2 = doc.createTextNode(paper.getReference(j));
    child3.appendChild(text2);
    }

    TransformerFactory transfac = TransformerFactory.newInstance();
    Transformer trans = transfac.newTransformer();
    trans.setOutputProperty(OutputKeys.OMIT_XML_DECLAR ATION, "yes");
    trans.setOutputProperty(OutputKeys.INDENT, "yes");
    StringWriter sw = new StringWriter();
    StreamResult result = new StreamResult(sw);
    DOMSource source = new DOMSource(doc);
    trans.transform(source, result);
    String xmlString = sw.toString();
    return xmlString;
    } catch (Exception e) {
    System.out.println(e);
    }
    return null;
    }

    Questo è un altro programma che avevo fatto ma il concetto è lo stesso..
    ho questo metodo che mi prende dentro un foglio che ha un title un autore e delle referenze.. ora vorrei riuscire a prendere il titolo e le referenze..

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da parzi
    ora vorrei riuscire a prendere il titolo e le referenze..
    Ok ma ripeto ancora: hai un Document (org.w3c.dom.Document) ? Bene. Allora o usi i metodi di Node/Element per "navigare" nell'albero dei nodi e trovare quello che ti serve, oppure usi XPath (vedi il package javax.xml.xpath).
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2010
    Messaggi
    60
    Scusa non so molto pratico ho da poco iniziato a vedere come funziona il parse.. e sono un novello anche di java.. in quanto è da pochi mesi che programmo..
    Potresti farmi un esempio rapido??
    te ne sarei davvero grato..

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    [QUOTE]Originariamente inviato da parzi
    Potresti farmi un esempio rapido?? /QUOTE]Trovi esempi su XML tra i miei Java Examples, vedi firma.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.