Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Java e Xml

  1. #1

    Java e Xml

    Ciao a tutti.
    Come richiamare il contenuto di un elemento da un documento XML?
    Mi spiego meglio...


    Richiamo dal main il metodo che legge il documento xml e restituisce un tipo document.
    Adesso ho il mio documento xml nel main.
    Vorrei riuscire a prendere il contenuto di un elemento del documento xml e salvarlo in un tipo stringa.
    qualcosa del tipo:
    String nome = documento.getElemento("nometag");
    Qualcuno può aiutarmi nel trovare l'istruzione corretta?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da TheDemon92 Visualizza il messaggio
    Richiamo dal main il metodo che legge il documento xml e restituisce un tipo document.
    Devi precisare quale API hai usato o intendi usare. Non c'è un solo unico modo per trattare documenti XML.
    Innanzitutto esistono le 3 tecniche di parsing: DOM, SAX e StAX (quest'ultima è specifica di Java).
    Riguardo il DOM, esiste la API JAXP integrata nel framework standard che fa uso del modello ad oggetti DOM nel package org.w3c.dom.
    Ma esistono anche librerie esterne come JDOM e Dom4j.

    Quindi?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ho usato DOM. Comunque nel frattempo sono riuscito a risolvere.
    Solo che adesso ho un problema con la lettura del documento xml.
    Sapresti dirmi l'estensione che dovrebbe avere il documento xml con la libreria dom?
    Perchè io l'avevo rinominato .xsl ma credo che sia sbagliato.
    In ogni caso grazie.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da TheDemon92 Visualizza il messaggio
    Ho usato DOM.
    Vuol dire ancora poco. DOM è solo il termine che indica il "modello ad oggetti" di un documento XML ma ci sono svariate API che usano e offrono questa tecnica di parsing di un XML.

    Se hai iniziato il tutto da javax.xml.parsers.DocumentBuilderFactory allora hai usato la API di JAXP. Altrimenti precisa cosa.

    Quote Originariamente inviata da TheDemon92 Visualizza il messaggio
    Sapresti dirmi l'estensione che dovrebbe avere il documento xml
    Ai fini del parsing, indipendentemente dalla tecnica/API usata, la estensione di un file da parsare è del tutto irrilevante e indifferente.

    Quote Originariamente inviata da TheDemon92 Visualizza il messaggio
    Perchè io l'avevo rinominato .xsl ma credo che sia sbagliato.
    Un XSL strutturalmente È un XML. Ma un XSL usa un dialetto XML ben preciso e specifico che serve per trasformare un XML in un altro documento XML, HTML o altro.
    Da come hai parlato finora, vuoi fare un parsing, non una transformation.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utilizzo DocumentBuilderFactory per l'istanza del documento xml.
    Creo un documento Dom facendomi passare dal parser il file xml. (specifico il percorso).
    Uso prima getElementsByTagName per prendere la lista dei nodi con quel tag.(anche se in realtà è uno solo).
    E poi getNodeValue per passare il contenuto dell'elemento xml ad un tipo stringa.
    Questo perché vorrei utilizzarlo all'interno del programma java.
    ....
    Continuo ad avere dei problemi col markup di xml. Se inserisco più di un elemento tag, poi il compilatore mi dà l'errore: "Il markup nel documento che segue l'elemento radice deve avere un formato corretto."
    Eppure io sono sicuro di aver innestato bene i tag...
    Ultima modifica di TheDemon92; 20-12-2015 a 11:41

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da TheDemon92 Visualizza il messaggio
    E poi getNodeValue per passare il contenuto dell'elemento xml ad un tipo stringa.
    Attenzione, il senso del getNodeValue dipende dal tipo di nodo. Se il nodo è un Element (ovvero un tag <xyz>) il nodeValue è sempre null.
    C'è una tabella (oltretutto molto chiara) nella documentazione della interface Node:
    https://docs.oracle.com/javase/8/doc.../dom/Node.html

    Quote Originariamente inviata da TheDemon92 Visualizza il messaggio
    Continuo ad avere dei problemi col markup di xml. Se inserisco più di un elemento tag, poi il compilatore mi dà l'errore: "Il markup nel documento che segue l'elemento radice deve avere un formato corretto."
    Eppure io sono sicuro di aver innestato bene i tag...
    Se il XML lo scrivi/editi a mano, chiaramente devi rispettare le regole basilari di XML. Senza sapere o vedere altro, non saprei che altro dirti ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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