Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Processare File XML

  1. #1

    Processare File XML

    Ciao a tutti! Ho un file XML fatto in questo modo:

    codice:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsi:SYSTEM xmlns:tns="http://www.example.org/System" >
    <SCALAR_PARAMETER>
    ....
    </SCALAR_PARAMETER>
    
    <SCALAR_PARAMETER>
    ....
    </SCALAR_PARAMETER>
    
    <TABULAR_PARAMETER>
    ....
    </TABULAR_PARAMETER>
    
    <SCALAR_PARAMETER>
    ....
    </SCALAR_PARAMETER>
    
    <TABULAR_PARAMETER>
    ....
    </TABULAR_PARAMETER>
    </xsi:SYSTEM>
    Ci sarebbe un modo per scandire questo file in modo da poter ottenere una lista dei macro nodi presenti nel File?(Per macro nodi intendo i nodi SCALAR_PARAMETER e TABULAR_PARAMETER che si ripetono spesso)
    grazie!!!

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

    Re: Processare File XML

    Originariamente inviato da rocklife
    Ci sarebbe un modo per scandire questo file in modo da poter ottenere una lista dei macro nodi presenti nel File?(Per macro nodi intendo i nodi SCALAR_PARAMETER e TABULAR_PARAMETER che si ripetono spesso)
    Conosci i concetti legati al parsing di documenti XML? Le tecniche SAX, DOM e (solo per Java) StAX? Le API JAXP? E librerie come il parser Xerces, JDOM, DOM4J?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Si li conosco... ma non ho trovato un buon esempio che possa fare al mio caso... mi potresti suggerire qualcosa??? GRAZIE

  4. #4
    Nessun suggerimento...?? Io ho letto che si puo' fare il parser di un documento xml e memorizzarlo in una struttura ad albero, in questo caso potrei processare i figli della root e analizzarli uno per uno! secondo voi sarebbe una soluzione corretta oppure c'e' un modo migliore?Grazie

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da rocklife
    Nessun suggerimento...?? Io ho letto che si puo' fare il parser di un documento xml e memorizzarlo in una struttura ad albero, in questo caso potrei processare i figli della root e analizzarli uno per uno! secondo voi sarebbe una soluzione corretta oppure c'e' un modo migliore?Grazie
    Se ti interessa l'approccio DOM usando le API JAXP vedi questa vecchia discussione in cui avevo postato degli esempi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Tu pensi che il DOM sia conveniente?Io sto' eseguendo delle prove con gli esemi che sono presenti nella vecchia discussione ma purtroppo non riesco a risolvere!
    Poiche' se vedi la struttura che ho postato prima, ho dimenticato di descrivere che all'interno dei TABULAR_PARAMETER sono presenti n instanze degli SCALAR_PARAMETER!

  7. #7
    Poi non riesco a capire una cosa: perche' processando il file con questo codice....

    codice:
    File f = new File ("C:/12.xml");
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                DocumentBuilder builder = factory.newDocumentBuilder();
                Document document = builder.parse(f);
                
                Element root = document.getDocumentElement();
                NodeList nodeListRoot = root.getChildNodes();
                
                if(nodeListRoot != null && nodeListRoot.getLength() > 0) 
            	{
                   	for(int i = 0 ; i < nodeListRoot.getLength();i++) 
            		{
                   		System.out.println(nodeListRoot.item(i).getNodeName());
            		}
            	}
    ottengo come riusultato questo:

    codice:
    #text
    SCALAR_PARAMETER
    #text
    SCALAR_PARAMETER
    #text
    SCALAR_PARAMETER
    #text
    SCALAR_PARAMETER
    #text
    SCALAR_PARAMETER
    #text
    TABULAR_PARAMETER
    #text
    Cos'e' quel #text???

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da rocklife
    Cos'e' quel #text???
    Ogni nodo ha un "nome" e un "valore". Per i nodi Text il nome è fisso "#text" e il valore è il testo contenuto effettivamente. Per i nodi Element il nome è il nome del tag e il valore è null.

    Vedi tabella completa nella documentazione di Node.
    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.