:: Enseignements :: Licence :: L3 :: 2010-2011 :: Programmation Objet avec Java ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | 9.
HTTP et analyseur syntaxique XML
|
Le compte-rendu de ce TP est à rendre pour le lundi 20 décembre 2010.
Exercice 1 - HTTP
Le but de cet exercice est d'obtenir une réponse suite à une requête HTTP.
-
Utiliser la classe URL pour créer une URL sur la
page web suivante:
http://twitter.com/users/show.xml?user_id=1401881.
-
Ouvrir une connexion et récupérer le flux de sortie (le contenu) de
la page Web.
Vous afficherez le contenu ligne à ligne.
-
A quoi sert la méthode close d'un scanner ?
Pourquoi cette méthode est-elle importante ?
-
Modifier votre code pour que la connexion soit fermée
quoi qu'il arrive.
Exercice 2 - Parseur XML
Le but de cet exercice est d'extraire des informations d'une réponse
suite à une requête HTTP.
Il existe 3 spécifications permettant l'analyse syntxique XML : SAX, DOM et StaX.
Nous utiliserons ici la spécification SAX.
-
Que représente la classe java.xml.parsers.SAXParserFactory ?
Comment créer un objet de ce type ?
-
A quoi sert la méthode setNamespaceAware() ?
-
Comment fait-on pour créer un analyseur SAX à partir d'un objet
de type SAXParserFactory ?
Comment doit-on gérer les exceptions ?
-
A quoi sert la classe org.xml.sax.helpers.DefaultHandler ?
A quoi servent les méthodes startElement() et endElement()
de l'interface org.xml.sax.ContentHandler ?
-
Ecrire une classe qui hérite de DefaultHandler et redéfinit les
méthodes startElement() et endElement() pour afficher
les informations obtenues.
-
Analyser le contenu de la page web
http://twitter.com/users/show.xml?user_id=1401881
à l'aide du DefaultHandler de la question précédente.
-
Modifier votre DefaultHandler pour créer un objet User contenant
uniquement le contenu des balises name, location et protected
(typé correctement) et l'utiliser avec l'utilisateur 1401881 ou d'autres utilisateurs.
Note: voici la description des balises possibles
http://apiwiki.twitter.com/Return-Values.
© Université de Marne-la-Vallée