Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

SAX-DOM

Java.SAX-DOM Versioni

Nascondi le modifiche minori - Mostra le modifiche

16/06/2006 ore 16:05 CEST di Vincenzo - Aggiunta di DOM
Modificate le linee 25-26: da:
!!Cos' SAX
a:
!!Uso di SAX
Modificate le linee 48-94: da:
Il SAXParser ci da tutte le informazioni rilevate dalla lettura del documento XML.
a:
Il SAXParser ci da tutte le informazioni rilevate dalla lettura del documento XML.

!! Uso di 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:'''
16/06/2006 ore 16:03 CEST di Vincenzo - Creazione della pagina
Aggiunte le linee 1-48:
!Uso di SAX in Java
'''Autori:''' [[Profiles.AlbertoConsonni | Alberto Consonni]]

->'''Sommario'''


!!Introduzione





* ''Approccio ad eventi'': informa l'applicazione degli eventi, tramite degli interrupt






!!!JAXP (Java API for XML Processing)

* SAX (Simple API for XML) per l'approccio ad eventi
* DOM (Document Object Model) per l'approccio del modello




Bisogna implementare l'interfaccia @@org.xml.sax.helpers.ContentHandler@@.



// creazione parser

SAXParserFactory spf = SAXParserFactory.newIstance();
SAXParser saxParser = spf.newSAXParser();
XMLReader parser = saxParser.getXMLReader();




// creazione handler

ContentHandler handler = new MyHandler();
parser.setContentHandler(handler);



Il SAXParser ci da tutte le informazioni rilevate dalla lettura del documento XML.
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 16/06/2006 ore 16:05 CEST