IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

problem de parser un fichier


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 88
    Points : 63
    Points
    63
    Par défaut problem de parser un fichier
    Bonjour,

    si qq1 a une idée comment récupérer le contenu d'une balise précise. j'ai réussi à parser le fichier mais j'arrive pas à récupérer le contenu que je veux.

    voici un exemple de fichier xml:
    =======================
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     <?xml version="1.0" encoding="iso-8859-1"?><rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <channel>
    <title>Le Monde.fr : Culture</title>
    <link>http://www.lemonde.fr</link>
    <description>Toute l'actualité au moment de la connexion</description>
    <copyright>Copyright Le Monde.fr</copyright>
    <image><url>http://medias.lemonde.fr/mmpub/img/lgo/lemondefr_rss.gif</url><title>Le Monde.fr</title><link>http://www.lemonde.fr</link></image>
    <pubDate>Tue, 10 Apr 2007 14:13:07 GMT</pubDate> <item>
     
      <title>Vent pop en Corée du Nord</title>
      <link>http://www.lemonde.fr/web/article/0,1-0@2-3246,36-894011,0.html?xtor=RSS-3246</link>
      <description>La déferlante de la culture pop sud-coréenne sur l'Asie éclabousse la Corée du Nord.</description>
      <pubDate>Tue, 10 Apr 2007 13:43:29 GMT</pubDate>
      <guid isPermaLink="false">http://www.lemonde.fr/web/article/0,1-0@2-3246,36-894011,0.html?xtor=RSS-3246</guid>
      <enclosure url="http://medias.lemonde.fr/mmpub/edt/ill/2005/08/31/h_1_ill_684336_302832.jpg" type="image/jpeg" length="3343"></enclosure>
     
    </item>
    <item>
      <title>Le rock fusionnel  des Américains  ! ! !</title>
      <link>http://www.lemonde.fr/web/article/0,1-0@2-3246,36-893590,0.html?xtor=RSS-3246</link>
      <description>Les !!! (prononcer tchik tchik tchik, ou n'importe quoi d'autre) sont ce qu'on appelle "un groupe de scène", capable de soulever une foule sur la foi de leur enthousiasme.</description>
      <pubDate>Mon, 09 Apr 2007 14:39:11 GMT</pubDate>
     
      <guid isPermaLink="false">http://www.lemonde.fr/web/article/0,1-0@2-3246,36-893590,0.html?xtor=RSS-3246</guid>
      <enclosure url="http://medias.lemonde.fr/mmpub/edt/ill/2007/04/09/h_1_ill_893470_mythtakes.jpg" type="image/jpeg" length="2499"></enclosure>
    </item>
    <item>
      <title>Une caravane part pour le Caucase "soutenir une culture en péril"</title>
      <link>http://www.lemonde.fr/web/article/0,1-0@2-3246,36-894010,0.html?xtor=RSS-3246</link>
      <description>Le 15 avril, une caravane de sept camions quittera Paris pour le Caucase. Malgré les risques de récupération, 60 artistes français joueront à Grozny.</description>
      <pubDate>Tue, 10 Apr 2007 13:39:22 GMT</pubDate>
     
      <guid isPermaLink="false">http://www.lemonde.fr/web/article/0,1-0@2-3246,36-894010,0.html?xtor=RSS-3246</guid>
      <enclosure url="http://medias.lemonde.fr/mmpub/edt/ill/2007/04/10/h_1_ill_894181_07041124_tchetche+x1p1_ori.jpg" type="image/jpeg" length="2432"></enclosure>
    </item>
     
     
     
     
    </channel>
    </rss><!--   -->
    je veux récupérer tout les titre et link de chaque item.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 257
    Points : 308
    Points
    308
    Par défaut
    utilise un parser XML tel que saxParser par exemple .... c'est relativement facil a mettre en place et assez puissant

    Voici un petit exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    	// recuperation des balises cc et to du fichier xml de automatcrl
    	public void getXml() {
    		try {
    			SAX SAXHandler = new SAX();
    			SAXParser parser = (SAXParserFactory.newInstance()).newSAXParser();
    			File fichier = new File(repCrl+ "\\automatcrl.xml");
    			parser.parse(fichier, SAXHandler);
    		} catch (Exception ex) {
    			System.out.println("Erreur dans le fichier xml");
    			System.err.println(ex);
    			System.exit(10);
    		}
     
    	}
     
    	// class handler du fichier xml
    	// reaction en fonction des balises
    	public class SAX extends DefaultHandler {
    		// savoir si on est dans une balise precise pour la lecture des data
    		// ici on recupere la valeure des balise to et cc
    		boolean into;
     
    		boolean incc;
     
    		public void startElement(String uri, String localName, String rawName,
    				Attributes attributes) {
    			if (rawName.equals("to")) {
    				into = true;
     
    			} else if (rawName.equals("cc")) {
    				incc = true;
     
    			} else if (rawName.equals("mail")) {
    				try {
    					servMail=attributes.getValue("server");
    				}catch (Exception e) {
    					System.err.println("Probleme serveur de mail");
    				}
    			}
    		}
     
    		public void endElement(String uri, String localName, String rawName) {
    			if (rawName.equals("to")) {
    				into = false;
    			} else if (rawName.equals("cc")) {
    				incc = false;
     
    			}
     
    		}
     
    		public void characters(char[] ch, int start, int length)
    				throws SAXException {
    			String lecture = new String(ch, start, length);
    			if (into) {
    				mailCrlTo=lecture;
    			} else if (incc) {
    				mailCrlCc=lecture;
    			}
    		}
     
    		public void startDocument() {
    			//System.out.println("Début du parsing");
    		}
     
    		public void endDocument() {
    			//System.out.println("Fin du parsing");
    		}
    	}
    ++

Discussions similaires

  1. [SimpleXML] probleme pour parser un fichier XML
    Par gilles974 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 27/03/2008, 10h01
  2. [SAX] Probleme pour parser un fichier
    Par aymron dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 25/11/2005, 15h48
  3. Probleme pour lire un fichier Ini
    Par Sebinou dans le forum C++Builder
    Réponses: 11
    Dernier message: 10/03/2004, 23h22
  4. parser un fichier avec xerces
    Par traiangueul dans le forum XML/XSL et SOAP
    Réponses: 9
    Dernier message: 02/02/2004, 18h14
  5. parser un fichier html
    Par noarno dans le forum ASP
    Réponses: 2
    Dernier message: 10/12/2003, 17h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo