:: Enseignements :: ESIPE :: E3INFO :: 2009-2010 :: Programmation Objet avec Java ::
[LOGO]

Ouvrir une URL et Parsing XML (SAX)


Exercice 1 - HTTP

Le but de cet exercice est d'obtenir une réponse suite à une requète HTTP.

  1. Utiliser la classe URL pour créer une URL sur la page web suivante: http://planetjdk.org/feed.rss.
  2. Ouvrir une connection et récupérer le flux de sortie (le contenu) de la page Web. Vous afficherez le contenue ligne à ligne.
  3. A quoi sert la méthode close d'un scanner. Pourquoi cette méthode est importante ?
  4. Modifier votre code pour que la connection 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 le parsing XML : SAX, DOM et StaX. Nous utiliserons ici la specification SAX.

  1. Que représente la classe java.xml.parsers.SAXParserFactory ? Comment créer un objet de ce type ?
  2. A quoi sert la méthode setNamespaceAware() ?
  3. Comment fait on pour créer un parseur SAX à partir d'un objet de type SAXParserFactory ?
    Comment doit-on gérer les exceptions ?
  4. 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 ?
  5. Ecrire une classe qui hérite de DefaultHandler et redéfini le méthodes startElement() et endElement() pour afficher les informations obtenues.
  6. Parser le contenue de la page web http://planetjdk.org/feed.rss à l'aide du DefaultHandler de la question précédente.
  7. Modifier votre DefaultHandler pour resortir une liste contenant uniquement les titres ("title") et les liens ("link") de chaque article du flux RSS.
    Attention on ne veut pas le titre et le lien du flux lui même.
    Note: voici la page wikipedia sur les flux RSS.