[XML] Creare nuovo documento xml

di il
1 risposte

[XML] Creare nuovo documento xml

Buongiorno a tutti,

Oggi ho un esigenza un pò strana.

Devo infatti gestire un documento XML, benchè su internet si trovi moltissima documentazine in merito, la maggior parte di questa, riguarda interpretare e navigare un file XML già disponibile e correttamente validato.

Mi trovo invece nella necessità di dover sviluppare un metodo che mipermetta di creare ex-novo un documento XML correttamente formattato, e di aggiungere in maniera dinamica a questo documento tanti nodi, quanti sono i dati che gli passo in ingresso.

Cerco di spiegarmi meglio, in ingresso ho la rubrica che ho scaricat dal mio telefono, questa è un file di testo, ma composto da una sintassi alquanto particolare, è infatti di questo tipo:
BEGIN:VCARD
VERSION:2.1
N:cognome;ANDREA;Roma3;;
FN:ANDREA Roma3 Apriliano
TEL;CELL;PREF:+39xxxxxxxxxx
EMAIL;HOME:user@dominio.it
END:VCARD
Come vedete, ogni contatto è sempre contrassegnato da un tag "BEGIN" ed "END", quindi si possono separare abbastanza facilmente.

Dal momento che l'applicazione la stò sviluppando ancora da zero, anche la logica è in discussione quindi quello che volevo fare era di creare un primo metodo che mi estraeva dal file d'ingresso tutta l'anagrafica dei contatti, passarli in una struttura come un hashMap, od una collection di qualche tipo, ancora da decidere, e poi passare questa hashmap ad un secondo metodo che, estraendo questi valori, crea da zero l'xml e li mette all'interno dei vari nodi, facendo crescere dinamicamente l'xml generato.

Come si fà a questo punto a creare un nuovo xml a partire dalla libreria jaxp? Io non ho alcun xml da passarle, ma è lei a doverlo creare, come si fà?

Se io avessi un contatto che ha, per esempio tre numeri di telefono, oppure tre email, è possibile modificare il metodo jaxp in modo che aggiunga tanti nodi "email", per quanti contatti estratti?

Mi dispiace se sono stato un pò prolisso.

Vi ringrazio tutti.

Saluti

1 Risposte

  • Re: [XML] Creare nuovo documento xml

    harpefalcata ha scritto:


    Come si fà a questo punto a creare un nuovo xml a partire dalla libreria jaxp? Io non ho alcun xml da passarle, ma è lei a doverlo creare, come si fà?
    Si può creare un XML nuovo in svariati modi:
    - con la API JAXP (partendo da DocumentBuilderFactory e DocumentBuilder)
    - con la API JAXB (il "binding" tra XML e classi Java)
    - con la API StAX (la nuova "streaming" API per XML disponibile da Java 6)
    - con altra libreria esterna es. JDOM o la dom4j o ancora altro
Devi accedere o registrarti per scrivere nel forum
1 risposte