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

Format d'échange (XML, JSON...) Java Discussion :

Erreur sur eclipse lors de la lecture d'un fichier xml


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 48
    Par défaut Erreur sur eclipse lors de la lecture d'un fichier xml
    Salut tout le monde

    J'ai besoin d'aide j'ai une erreur que je ne comprends pas qui apparait lors de la lecture d'un fichier xml

    Voici le code qui pose problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
            @Override
    	public void characters(char [] ch, int start, int length){
    		String value=String.copyValueOf(ch, start, length).trim();
    		if(inTitre)
    			titre=value;
    		else if(inTexte)
    			texte=value;
    		else if(inDateFin)
    		{
    			System.out.println(value);
    			dateFin=new Date(Long.parseLong(value));
    		}
    Voici l'erreur que m'affiche eclipse:

    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
     
    Début de la balise : datefin
    1420758000000
    Fin de la balise : datefin
     
    Exception in thread "main" java.lang.NumberFormatException: For input string: ""
    	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    	at java.lang.Long.parseLong(Long.java:601)
    	at java.lang.Long.parseLong(Long.java:631)
    	at exo1.InfoHandler.characters(InfoHandler.java:42)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.characters(AbstractSAXParser.java:546)
    	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:455)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:841)
    	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:770)
    	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
    	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
    	at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
    	at exo1.InfoList.getInfoListFromXml(InfoList.java:134)
    	at exo1.InfoList.main(InfoList.java:147)
    Le débogueur m'indique que l'erreur se situe au niveau de l'affectation de dateFin mais je ne comprends pas pourquoi, lorsque j'affiche la valeur avec System.out.println, il m'affiche la bonne valeur...

    Merci pour votre aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello,

    regarde ce que tu as en sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fin de la balise : datefin
    Ça veut dire que tu lis la fermeture de balise </datefin>, ce qui est impossible puisque tu déclenches une NumberFormatException quand tu essaies de parser le nombre dans characters().

    En réalité, ce qui se passe, c'est que tu as une première balises <datefin>1420758000000</datefin>, et avec elle tout se passe bien, puis une deuxième balise, <datefin> </datefin> et c'est là que l'exception est lancée.

    Possible aussi que la deuxième balise <datefin> ne soit pas vide, mais que le problème est juste que tu gères mal la méthode characters() : personne n'a jamais dit qu'elle donnait le contenu entier de la balise.
    characters() doit stocker les caractères qu'elle reçoit au fur et à mesure, puis une fois que la balise de fin est atteinte, on sait qu'on a lu tout le contenu et c'est seulement à ce moment-là qu'il faut essayer de parser ce nombre.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 48
    Par défaut
    Merci d'avoir pris du temps pour répondre à ma question:

    Voici le fichier XML que j'essaie de lire:

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8"?>
    <infolist>
        <info>
            <titre>MLL5U2O</titre>
            <texte>l'examen de MLL5U2O a lieu le 8 janvier 2015 à 10H30</texte>
            <datefin>1420758000000</datefin>
        </info>
        <info>
            <titre>Semestre 6</titre>
            <texte>Le semestre 6 débute le 14 janvier 2015</texte>
            <datefin>1421708400000</datefin>
        </info>
    </infolist>

    Ainsi que toute la classe qui hérite de DefaultHandler

    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
    package exo1;
     
    import java.util.Date;
     
    import org.xml.sax.Attributes;
    import org.xml.sax.helpers.DefaultHandler;
     
    public class InfoHandler extends DefaultHandler {
    	private InfoList infoList;
     
    	public InfoHandler(InfoList infoList) {
    		this.infoList = infoList;
    	}
     
    	// indique à l'intérieur de quelle balise on se trouve
    	private boolean inTitre, inTexte, inDateFin;
    	// mémorise les valeurs servant à créer un objet Info
    	private String titre, texte;
    	private Date dateFin;
     
    	@Override
    	public void startElement(String uri, String localName, String rawName, Attributes atts) {
    		System.out.println("Début de la balise : "+rawName);
    		if(rawName.equals("titre"))
    			inTitre=true;
    		else if(rawName.equals("texte"))
    			inTexte=true;
    		else if(rawName.equals("datefin"))
    			inDateFin=true;
    	}
     
    	@Override
    	public void characters(char [] ch, int start, int length){
    		String value=String.copyValueOf(ch, start, length).trim();
    		if(inTitre)
    			titre=value;
    		else if(inTexte)
    			texte=value;
    		else if(inDateFin)
    		{
    			System.out.println(value);
    			dateFin=new Date(Long.parseLong(value));
    		}
     
     
    	}
     
    	@Override
    	public void endElement(String uri, String localName, String rawName) {
    		System.out.println("Fin de la balise : "+rawName);
    		if(rawName.equals("titre"))
    			inTitre=false;
    		if(rawName.equals("texte"))
    			inTexte=false;
    		if(rawName.equals("dateFin"))
    			inDateFin=false;
     
    		if(rawName.equals("info"))
    			infoList.addInfo(new Info (titre, texte, dateFin));
    	}
    }
    Ainsi que la classe InfoList que j'ai créé

    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    package exo1;
     
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
     
    import javax.xml.parsers.ParserConfigurationException;
    import javax.xml.parsers.SAXParser;
    import javax.xml.parsers.SAXParserFactory;
     
    import org.xml.sax.Attributes;
    import org.xml.sax.SAXException;
    import org.xml.sax.helpers.DefaultHandler;
     
    public class InfoList {
     
    	private List<Info> listInfo = new ArrayList<Info>();
     
    	public InfoList() {
    	}
     
    	public void addInfo(Info info) {
    		this.listInfo.add(info);
    	}
     
    	public void removeInfo(Info info) {
    		this.listInfo.remove(info);
    	}
     
    	public int getNbInfos() {
    		return listInfo.size();
    	}
     
    	public Info getInfoNumero(int numero) {
    		return listInfo.get(numero);
    	}
     
    	public String toString() {
    		String s = "[";
    		for (Info i : this.listInfo) {
    			s += i.toString() + ", ";
    		}
    		s=s.substring(0, s.length()-2);
    		s += " ]";
    		return s;
    	}
     
    	/**
             * sauvegarde cet InfoList dans un fichier
             * @param file le fichier de sauvegarde
             * @throws FileNotFoundException
             * @throws IOException
             */
    	public void saveData(File file) throws FileNotFoundException, IOException {
    		try (DataOutputStream dos = new DataOutputStream(new FileOutputStream(file))) {
    			saveInfo(dos);
    		}
    	}
     
    	/**
             * sauvegarde une InfoList dans un DataOutputStream
             * 
             * @param dos
             * @throws IOException
             */
    	public void saveInfo(DataOutputStream dos) throws IOException {
    		dos.writeInt(listInfo.size());
    		for (Info info : listInfo) {
    			dos.writeUTF(info.getTitre());
    			dos.writeLong(info.getDateFin().getTime());
    			dos.writeUTF(info.getTexte());
    		}
    	}
     
    	/**
             * sauvegarde cet InfoList dans un fichier
             * @param file le fichier de sauvegarde
             * @throws FileNotFoundException
             * @throws IOException
             */
    	public void saveDataAvecTryClassique(File file) throws FileNotFoundException, IOException {
    		FileOutputStream fos = null;
    		OutputStreamWriter osw = null;
    		BufferedWriter bw = null;
     
    		try {
    			fos = new FileOutputStream(file);
    			osw = new OutputStreamWriter(fos);
    			bw = new BufferedWriter(osw);
    			for (Info i : this.listInfo)
    				bw.write(i.toString());
    			bw.close();
    		} finally {
    			if (fos != null)
    				fos.close();
    			if (osw != null)
    				osw.close();
    			if (bw != null)
    				bw.close();
    		}
     
    	}
     
    	public static InfoList readData(File file) throws FileNotFoundException, IOException {
    		FileInputStream fis = new FileInputStream(file);
    		InputStreamReader isr = new InputStreamReader(fis);
    		BufferedReader br = new BufferedReader(isr);
    		InfoList il = new InfoList();
    		String st = br.readLine();
    		while (st != null) {
    			il.addInfo(Info.getInfoFromLigne(st));
    		}
    		br.close();
    		return il;
    	}
     
    	public static InfoList getInfoListFromXml(String fileName) throws ParserConfigurationException, SAXException {
    		InfoList infoList = new InfoList();
    		SAXParserFactory spf = SAXParserFactory.newInstance();
    		SAXParser pf;
    		pf = spf.newSAXParser();
    		InfoHandler handler = new InfoHandler(infoList);
    		try {
    			pf.parse(InfoList.class.getResourceAsStream(fileName), handler);
    		} catch (SAXException | IOException e) {
    			e.printStackTrace();
    		}
    		return infoList;
    	}
     
    	public static void main (String []args) throws ParserConfigurationException, SAXException, IOException
    	{
    		/*InfoList il = new InfoList();
    		il.addInfo(Info.getInfoFromLigne("MLL5U2O @ l'examen de MLL5U2O a lieu le 8 janvier 2015 à 10H30 09/01/2015"));
    		il.addInfo(Info.getInfoFromLigne("Semestre 6 @ Le semestre 6 débute le 14 janvier 2015 25/03/2015"));
    		System.out.println(il);*/
    		System.out.println(InfoList.getInfoListFromXml("/file.xml"));
     
    	}
     
    }
    Voila je t'ai mis toute les classes qui me semblent utile pour la résolution du problème parce que je n'arrive pas à trouver la solution
    Si tu as besoin de la classe Info je peux te la rajouter mais je ne pense pas qu'elle soit vraiment utile pour résoudre le problème...

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Ton problème est un problème de casse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public void endElement(String uri, String localName, String rawName) {
    		System.out.println("Fin de la balise : "+rawName);
    		if(rawName.equals("titre"))
    			inTitre=false;
    		if(rawName.equals("texte"))
    			inTexte=false;
    		if(rawName.equals("dateFin"))
    			inDateFin=false;
    Ta balise s'appelle datefin. Donc rawName.equals("dateFin") est false dans endElement. Comme dit par @thelvin, "character()" est invoquée pour toute suite de caractères, ici dans ton cas, probablement entre </datefin> et </info>, et, comme inDateFin est toujours à true, plantage lors du"Long.parseLong()".
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 48
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Ton problème est un problème de casse :[...]
    Oh merci c'est vraiment bête comme erreur

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Pour ce genre de choses, personnellement, j'utilise une enum, et une pile si j'ai plusieurs niveaux imbriqués. Cela évite d'avoir 36 booléens, 36 tests pour les activer/désactiver, et c'est plus clair et plus aisé à modifier.
    Dans le genre de (sans pile) :
    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
    public class InfoHandler extends DefaultHandler {
    	private InfoList infoList;
     
    		// mémorise les valeurs servant à créer un objet Info
    		private String titre, texte;
    		private Date dateFin;
     
    		private DataType dataType = DataType.NONE;
    		private StringBuilder sb = new StringBuilder();
     
    	public InfoHandler(InfoList infoList) {
    		this.infoList = infoList;
    	}
     
    	// indique à l'intérieur de quelle balise on se trouve
    	private enum DataType {
    		TITRE("titre"),
    		TEXTE("texte"),
    		DATEFIN("datefin"),
    		NONE(""),
    		;
    		private final String name;
    		private DataType(String name) {
    			this.name=name;
    		}
    		public static DataType ofName(String name) {
    			for(DataType type : DataType.values()) {
    				if ( name.equals(type.name) ) {
    					return type;
    				}
    			}
    			return DataType.NONE;
    		}
    	} 
     
    		@Override
    	public void startElement(String uri, String localName, String rawName, Attributes atts) {
    		System.out.println("Début de la balise : "+rawName);
    		dataType = DataType.ofName(rawName);
    		sb.setLength(0);
    	}
     
    	@Override
    	public void characters(char [] ch, int start, int length){
    		sb.append(ch, start, start+length);
    	}
     
    	@Override
    	public void endElement(String uri, String localName, String rawName) {
    		System.out.println("Fin de la balise : "+rawName);
    		switch(dataType) {
    		case TITRE:
    			titre=sb.toString();
    			break;
    		case TEXTE:
    			texte=sb.toString();
    			break;
    		case DATEFIN:
    			dateFin=new Date(Long.parseLong(sb.toString()));
    			break;
    		}
    		if(rawName.equals("info"))
    			infoList.addInfo(new Info (titre, texte, dateFin));
    	}
    }
    Avec pile (en version simplifiée) :
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    public class InfoHandler extends DefaultHandler {
    	private InfoList infoList;
     
     
    		private final Deque<Node> stack = new ArrayDeque<>();
     
    		private static class Node {
    			private final StringBuilder sb = new StringBuilder();
    			private final DataType dataType;
     
    			private final Map<DataType,Object> fields = new EnumMap(DataType.class);
     
    			private Node(String name) {
    				this.dataType = DataType.ofName(name);
    			}
     
    			public <T> T getData(DataType type) {
    				return (T)fields.get(type);
    			}
     
    			public String getStringValue() {
    				return sb.toString();
    			}
    		}
     
    	public InfoHandler(InfoList infoList) {
    		this.infoList = infoList;
    	}
     
    	// indique à l'intérieur de quelle balise on se trouve
    	private enum DataType {
    		TITRE("titre"),
    		TEXTE("texte"),
    		DATEFIN("datefin"),
    		INFO("info"),
    		NONE(""),
    		;
    		private final String name;
    		private DataType(String name) {
    			this.name=name;
    		}
    		public static DataType ofName(String name) {
    			for(DataType type : DataType.values()) {
    				if ( name.equals(type.name) ) {
    					return type;
    				}
    			}
    			return DataType.NONE;
    		}
    	} 
     
    		@Override
    	public void startElement(String uri, String localName, String rawName, Attributes atts) {
    		System.out.println("Début de la balise : "+rawName);
    		stack.push(new Node(rawName));
    	}
     
    	@Override
    	public void characters(char [] ch, int start, int length){
    		stack.peek().sb.append(ch, start, start+length);
    	}
     
    	@Override
    	public void endElement(String uri, String localName, String rawName) {
    		System.out.println("Fin de la balise : "+rawName);
    		Node node = stack.pop();
    		switch(node.dataType) {
    		case TITRE:
    		case TEXTE:
    			stack.peek().fields.put(node.dataType, node.getStringValue());
    			break;
    		case DATEFIN:
    			stack.peek().fields.put(node.dataType, new Date(Long.parseLong(node.getStringValue())));
    			break;
    		case INFO:
    			infoList.addInfo(new Info (node.getData(DataType.TITRE), node.getData(DataType.TEXTE), node.getData(DataType.DATEFIN)));
                            break;
                    default:
                            // nothing
    		}
    	}
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/01/2015, 09h37
  2. [Débutant] Exception lors de la lecture d'un fichier xml
    Par Tinku dans le forum C#
    Réponses: 7
    Dernier message: 29/11/2011, 09h20
  3. Contrôles lors de la lecture d'un fichier xml
    Par soa dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 19/05/2011, 13h54
  4. Erreur d'analyse lors de la lecture d'un fichier INI
    Par Alexandrebox dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2010, 10h07
  5. Problème lors de la lecture d'un fichier xml avec XMLBeans
    Par oscar78 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 07/09/2007, 14h04

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