Esercizi
- Home
- Esercizi del capitolo 18 e dell'appendice L
Esercizi del capitolo 18 e dell'appendice L
Java e il mondo XML e JAXB
Qui troverete sia esercizi sul capitolo 18 che sull'appendice L. Questi ultimi hanno una numerazione
diversa che inizia con la lettera L e verranno aggiunti a breve.
Di seguito trovate gli esercizi del capitolo.
Per ogni esercizio, cliccando sulla traccia potete vedere la relativa soluzione.
Gli esercizi caratterizzati dall'icona sono
considerati i più complessi relativamente agli argomenti trattati.
Se preferite lavorare offline, è possibile scaricare tutti gli esercizi e le relative
soluzioni in formato PDF nella sezione download.
-
Esercizio 18.a) JAXP, Vero o Falso:
1. Per le specifiche DOM, ogni nodo è equivalente ad un altro e un commento viene visto come un oggetto di tipo
Node.
2. Infatti l'interfacciaNodeimplementaText.
3. Per poter analizzare un documento nella sua interezza con DOM, bisogna utilizzare un metodo ricorsivo.
4. Con il seguente codice:Node n = node.getParentNode().getFirstChild();
si raggiunge il primo nodo "figlio" di
node.
5. Con il seguente codice:Node n = node.getParentNode().getPreviousSibling();
si raggiunge il nodo "fratello" precedente di
node.
6. Con il seguente codice:NodeList list = node.getChildNodes(); Node n = list.item(0);
si raggiunge il primo nodo "figlio" di
node.
7. Con il seguente codice:Element element = doc.createElement("nuovo"); doc.appendChild(element); Text text = doc.createTextNode("prova testo"); doc.insertBefore(text, element);
viene creato un nodo chiamato nuovo, in cui viene aggiunto testo.
8. La rimozione di un nodo provoca la rimozione di tutti i suoi nodi "figli".
9. Per analizzare un documento tramite l'interfaccia SAX bisogna estendere la classeDefaultHandlere effettuare override dei suoi metodi.
10. Per trasformare un file XML e serializzarlo in un altro file dopo una trasformazione mediante un file XSL, è possibile utilizzare il seguente codice:try { TransformerFactory factory = TransformerFactory.newInstance(); Source source = new StreamSource(new File("input.xml")); Result result = new StreamResult(new File("output.xml")); Templates template = factory.newTemplates( new StreamSource(new FileInputStream("transformer.xsl"))); Transformer transformer = template.newTransformer(); transformer.transform(source, result); } catch (Exception e) { e.printStackTrace(); }
Soluzione
1. Vero.
2. Falso, l'interfacciaTextimplementaNode.
3. Vero.
4. Falso, si raggiunge il primo nodo "fratello" dinode.
5. Falso.
6. Vero.
7. Falso, il testo viene aggiunto prima del tag con il metodoinsertBefore. Sarebbe invece opportuno utilizzare la seguente istruzione per aggiungere il testo all'interno del tag nuovo:element.appendChild(text);
8. Falso.
9. Vero.
10. Vero.