Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

JDOM

Java.JDOM Versioni

Nascondi le modifiche minori - Mostra le modifiche

Modificate le linee 2-4: da:
'''Autore:''' [[profiles.Andrea| Andrea Rota]]\\
'''Hanno contribuito:'''
a:
'''Autore:''' [[profiles.Andrea| Andrea Rota]]
Modificate le linee 38-87: da:



!!'''Esempio DOM'''

Dato un documento XML viene creata la struttura ad albero

''<i> project </i>'' : CDATA introduce del testo che il parser non deve elaborare ma deve essere solamente riportato senza effettuare modifiche. Quindi in questo caso dell'esempio vengono riportati anche i tag, che vengono mostrati su schermo.

'''Caricamento di un DOM:'''

librerie: import org.w3c.dom.*
import java.xml.parsers.*
import org.xml.sax.*

''DocumentBuilderFactory factory = DocumentBuilderFactory.newIstance();''
''DocumentBuilder builder = factory.newDocumentBuilder();''




'''Navigazione:'''

- Estrazione del nodo radice e stampa del nome del nodo: ''getNodeName()''
- Nodi figli: ''getChildNodes()''
- Attributi: ''getAttributes()''

'''Tipizzazione:'''

- ''n.getNodeType() == Node.ELEMENT_NODE'' // tipo del nodo, verifica se n rappresenta un elemento e non un commento o un testo
- Reflection: ''n.istanceof Element()''
- Polimorfismo: le librerie ritornano un'istanza della sottoclasse corretta!

'''Validazione:'''

''factory.setValidating(true);'' // per renderlo valido

'''Browsing e stampa:'''
- ''getAttributes()'' // restituisce gli attributi della mappa creata
- ''getNodeValue()'' // nel caso in cui sia un attributo


''Element root = doc.getDocumentElement();''


Dentro la stringa si accumulano i vari nomi dei testi che poi vengono visualizzati a schermo.

'''Modifica dell'albero:'''
a:
14/06/2006 ore 16:59 CEST di AlbertoConsonni -
Modificate le linee 53-58: da:
DocumentBuilderFactory factory = DocumentBuilderFactory.newIstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(.);

l
'oggetto doc tutte le informazioni avute dal parse del documento libro.xml
a:
''DocumentBuilderFactory factory = DocumentBuilderFactory.newIstance();''
''
DocumentBuilder builder = factory.newDocumentBuilder();''
''
Document doc = builder.parse(.);''

L
'oggetto doc tutte le informazioni avute dal parse del documento libro.xml
Modificate le linee 61-64: da:
&#61485; Estrazione del nodo radice e stampa del nome del nodo: getNodeName()
&#61485; Nodi figli: getChildNodes()
&#61485; Attributi: getAttributes()
a:
- Estrazione del nodo radice e stampa del nome del nodo: ''getNodeName()''
- Nodi figli: ''getChildNodes()''
- Attributi: ''
getAttributes()''
Modificate le linee 67-70: da:
- n.getNodeType() == Node.ELEMENT_NODE --> tipo del nodo, verifica se n rappresenta un elemento e non un commento o un testo
- Reflection: n.istanceof Element()
&#61485; Polimorfismo:
le librerie ritornano un'istanza della sottoclasse corretta!
a:
- ''n.getNodeType() == Node.ELEMENT_NODE'' // tipo del nodo, verifica se n rappresenta un elemento e non un commento o un testo
- Reflection: ''n.istanceof Element()''
-
Polimorfismo: le librerie ritornano un'istanza della sottoclasse corretta!
Modificate le linee 73-74: da:
factory.setValidating(true); per renderlo valido
a:
''factory.setValidating(true);'' // per renderlo valido
Modificate le linee 76-82: da:
getAttributes() --> restituisce gli attributi della mappa creata
getNodeValue()
--> nel caso in cui sia un attributo
il codice print fa l'elaborazione nodo padre concatenato con il nodo figlio
(separati da un -)

Element root = doc.getDocumentElement();
print(root,); -->
la stringa iniziale la stringa vuota
a:
- ''getAttributes()'' // restituisce gli attributi della mappa creata
- ''getNodeValue
()'' // nel caso in cui sia un attributo
- il codice print fa l'elaborazione nodo padre concatenato con il nodo figlio (separati da un -)

''Element root = doc.getDocumentElement();''
''print(root,);'' //
la stringa iniziale la stringa vuota
Modificate le linee 84-87: da:
'''
Modifica dell'albero:'''
Inserimento di nuovi elementi nell'albero: createElement();
a:
'''Modifica dell'albero:'''
Inserimento di nuovi elementi nell'albero: ''createElement();''
14/06/2006 ore 16:50 CEST di AlbertoConsonni -
Modificate le linee 40-87: da:
Inoltre viene
a:

!!'''Esempio DOM'''

Dato un documento XML viene creata la struttura ad albero

''<i> project </i>'' : CDATA introduce del testo che il parser non deve elaborare ma deve essere solamente riportato senza effettuare modifiche. Quindi in questo caso dell'esempio vengono riportati anche i tag, che vengono mostrati su schermo.

'''Caricamento di un DOM:'''

librerie: import org.w3c.dom.*
import java.xml.parsers.*
import org.xml.sax.*

DocumentBuilderFactory factory = DocumentBuilderFactory.newIstance();
DocumentBuilder builder = factory.newDocumentBuilder();




'''Navigazione:'''

&#61485; Estrazione del nodo radice e stampa del nome del nodo: getNodeName()
&#61485; Nodi figli: getChildNodes()
&#61485; Attributi: getAttributes()

'''Tipizzazione:'''

- n.getNodeType() == Node.ELEMENT_NODE --> tipo del nodo, verifica se n rappresenta un elemento e non un commento o un testo
- Reflection: n.istanceof Element()
&#61485; Polimorfismo: le librerie ritornano un'istanza della sottoclasse corretta!

'''Validazione:'''

factory.setValidating(true); per renderlo valido

'''Browsing e stampa:'''
getAttributes() --> restituisce gli attributi della mappa creata
getNodeValue() --> nel caso in cui sia un attributo


Element root = doc.getDocumentElement();


Dentro la stringa si accumulano i vari nomi dei testi che poi vengono visualizzati a schermo.
'''
Modifica dell'albero:'''
Modificate le linee 6-7: da:
->[-La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [[http://www.jdom.org]]. L'uso di questa libreria ha alcuni vantaggi rispetto alle librerie classiche con cui Java viene fornito, la SAX e la DOM.-]
a:
->[-La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [[http://www.jdom.org]]. L'uso di questa libreria ha alcuni vantaggi rispetto alle librerie classiche con cui Java viene fornito, la SAX e la DOM. In questo articolo si una breve introduzione alla libreria e si mostreranno alcuni usi classici.-]
Modificate le linee 6-7: da:
->La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [[http://www.jdom.org]]. L'uso di questa libreria ha alcuni vantaggi rispetto alle librerie classiche con cui Java viene fornito, la SAX e la DOM.
a:
->[-La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [[http://www.jdom.org]]. L'uso di questa libreria ha alcuni vantaggi rispetto alle librerie classiche con cui Java viene fornito, la SAX e la DOM.-]
Modificate le linee 2-3: da:
La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [[http://www.jdom.org]].
a:
'''Autore:''' [[profiles.Andrea| Andrea Rota]]\\
'''Hanno contribuito:
'''

->'''Sommario'''
->La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito
[[http://www.jdom.org]]. L'uso di questa libreria ha alcuni vantaggi rispetto alle librerie classiche con cui Java viene fornito, la SAX e la DOM.
29/04/2006 ore 12:32 CEST di 82.52.11.181 -
Modificate le linee 9-36: da:
JDOM si propone come soluzione finale, andando ad interagire con SAX o DOM (o altre librerie) e fornendo una visione astratta molto vicina ai concetti Java, risultando semplice ed immediato nell'uso classico dell'XML.
a:
JDOM si propone come soluzione finale, andando ad interagire con SAX o DOM (o altre librerie) e fornendo una visione astratta molto vicina ai concetti Java, risultando semplice ed immediato nell'uso classico dell'XML.

!!Creare da zero un file XML
Come esempio utilizzeremo questo file XML:

<?xml version="1.0" encoding="UTF-8"?>
<Rubrica>

<Nominativo>
<Nome>Andrea</Nome>
<Cognome>Rota</Cognome>
<Telefono tipo="Casa">123456</Telefono>
<Telefono tipo="Cellulare">123456789</Telefono>
</Nominativo>
</Rubrica>

Che contiene sia "commenti", sia "elementi" con testo, sia "attributi", ovvero il 90% di quello utilizzato comunemente in XML.

JDOM distingue fra fra oggetti di tipo:


Element e = new Element("Nominativo").add(new Element("Nome").seText("Andrea"));





Inoltre viene
28/04/2006 ore 20:40 CEST di 87.2.84.32 -
Modificate le linee 2-9: da:
La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [www.jdom.org].
a:
La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [[http://www.jdom.org]].

!!Cos' la libreria JDOM
Usare XML direttamente leggendo e scrivendo sui file (e rispettando tutte le regole sintattiche) potrebbe essere un problema. Essendo un'esigenza diffusa fra chi programma, esistono dei componenti specifici, detti parser, che interagiscono con l'XML e compiono interrogazioni. Tuttavia il livello d'astrazione ancora troppo basso per la maggior parte degli sviluppatori e sono stati introdotti degli strumenti multilinguaggio, che sono delle librerie per l'uso dell'XML ad fornendo una visione dell'XML come albero (ad esempio le librerie DOM) o una visione come sequenza di eventi (come le librerie SAX). Queste librerie hanno due svantaggi:
* Mantengono una visione indipendente dal linguaggio
* Sono pensate per svolgere tutte le operazioni possibili, senza ottimizzare la sintassi per quelle diffuse.

JDOM si propone come soluzione finale, andando ad interagire con SAX o DOM (o altre librerie) e fornendo una visione astratta molto vicina ai concetti Java, risultando semplice ed immediato nell'uso classico dell'XML
.
28/04/2006 ore 20:15 CEST di 87.2.84.32 -
Aggiunte le linee 1-2:
!La libreria JDOM
La libreria JDOM una libreria open source per l'utilizzo di XML in Java, scaricabile liberamente dal sito [www.jdom.org].
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 02/08/2006 ore 23:20 CEST