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

    [java] ordinare i nodi xml

    Ciao, il mio problema è quello di ordinare i nodi xml.
    Ho una rubrica in un file xml strutturata così:
    <rubrica><nome>a</nome><cognome>b</cognome>......</rubrica>

    Io posso aggiungere al suo interno nuovi contatti. Però vorrei anche ordinarli in base al nome o al cognome. Esistono dei metodi del JDOM che mi aiutano in questo o devo adottare un algoritmo per scorrere l'albero xml e arrivare nel punto giusto?

    grazie

  2. #2

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

    Re: [java] ordinare i nodi xml

    Originariamente inviato da devil89
    il mio problema è quello di ordinare i nodi xml.
    Ho una rubrica in un file xml strutturata così:
    <rubrica><nome>a</nome><cognome>b</cognome>......</rubrica>

    Io posso aggiungere al suo interno nuovi contatti. Però vorrei anche ordinarli in base al nome o al cognome. Esistono dei metodi del JDOM che mi aiutano in questo o devo adottare un algoritmo per scorrere l'albero xml e arrivare nel punto giusto?
    Come ho già avuto modo di dire altre volte, non sono (ancora) esperto di JAXP, quindi non so dire se esiste la possibilità di fare ordinamenti direttamente sull'albero dei nodi.

    Una soluzione semplice è questa: definire delle classi (una o più .. a seconda dei casi) che "mappano" in oggetti la struttura del file XML. Nel caso sopra: una classe es. Contatto che contiene i campi nome e cognome. La classe implementerà Comparable per definire un "natural ordering" (ma si possono definire altri ordinamenti con Comparator).

    Si potrà quindi fare un ArrayList<Contatto> in cui inserire tutti i contatti. Quindi poi ordinarli, aggiungerli, eliminarli, ecc...

    Alla fine si ricrea l'albero dei nodi e lo si scrive su file.
    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.