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 :

l'exeption IllegalStateException de java. Lang


Sujet :

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

  1. #1
    Membre régulier
    Homme Profil pro
    élève ingenieur
    Inscrit en
    Août 2015
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : élève ingenieur
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2015
    Messages : 69
    Points : 72
    Points
    72
    Par défaut l'exeption IllegalStateException de java. Lang
    Bonjour ,

    J'ai rencotré cette exeption et je n'ai pas compris pourquoi.

    la console m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Current state is not among the states START_ELEMENT , ATTRIBUTEvalid for getAttributeName()
    	at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.getAttributeName(Unknown Source)
    DlmsObjectInformationTest :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class DlmsObjectInformationTest {
     
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		DlmsObjectInformation dlmsObjectInformation = DlmsObjectInformation.getDlmsObjectInformationfromTask("resultTask.xml");
    		System.out.println("end");
    	}
     
    }
    la classe DlmsObjectInformation et la méthode getDlmsObjectInformationfromTask(string nameOfFile)
    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
     
    public class DlmsObjectInformation {
     
    	private String frameValue ;
    	private String obis ;
    	private String type ;
    	private String attribute;
    	private String classId;
    	//getters setters et constructeurs 
     
    public static DlmsObjectInformation getDlmsObjectInformationfromTask(String nameOfTask)
    	{
    		DlmsObjectInformation dlmsObjectInformation = new DlmsObjectInformation();
    		XMLInputFactory factory = XMLInputFactory.newInstance();
    		File file = new File(nameOfTask);
    		Boolean found=false ;
    		 try {
    			XMLStreamReader reader = factory.createXMLStreamReader(new FileReader(file));
    			 while (reader.hasNext() && !found) {
    				 int type = reader.next();
    				 if(type== XMLStreamReader.START_ELEMENT && reader.getLocalName().equals("dlms") )
    				 {
    					 found = true ;
    					 int nbrOfAtt = reader.getAttributeCount();
    					 String frameValue = reader.getElementText();
    					 Map<String,String>  attributesValues = new HashMap<>(nbrOfAtt);
    					 for(int i = 0; i <nbrOfAtt; i++)
    	                  {
    						 attributesValues.put(reader.getAttributeName(i).toString() , reader.getAttributeValue(i)) ;
    	                  }
     
    					 dlmsObjectInformation.setAttribute(attributesValues.get("attribute"));
    					 dlmsObjectInformation.setClassId("classId");
    					 dlmsObjectInformation.setFrameValue(frameValue);
    					 dlmsObjectInformation.setObis("obis");
    					 dlmsObjectInformation.setType("type");
    				 }
    			 }
     
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (XMLStreamException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
     
    		return dlmsObjectInformation;
    	}
    et la fichier xml resultDataTask

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <taskRes xmlns="xxxxx" taskId="xx" taskType="DLMS" version="2" dc="xxx">
       <target id="xxx" type="xxx">
                         <transaction association="1" type="dlms"  id="1" start="2016-06-19T19:42:28" stop="2016-06-19T19:42:29" status="done" retry="0">
        <dlms id="1" operation="getm" obis="0;0;40;0;0;255" type="ARRAY" attribute="2" classId="15" status="done"  >01230204120</dlms>
                          </transaction>
    	</target>
    </taskRes>
    le but est de récuperer les attributs et ses valeurs de element dlms de fichier xml resultDataTask et le stocker dans dlmsObjectInformation.

    merci .

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    comme le dit l'erreur, tu n'es ni dans l'état START_ELEMENT ni dans l'était ATTRIBUT


    Cela est dû à ton appel à getElementText(). La documentation de XmlStreamReader dit bien que ça amène le reader dans l'état END_ELEMENT. Il est alors trop tard pour lire les attribut. Ce qui est logique, les attributs apparaissent dans le flux avant le contenu du noeux, tu dois donc les lire avant.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/04/2013, 08h26
  2. l'exception : java.lang.IllegalStateException:
    Par moha_alnif dans le forum JSF
    Réponses: 10
    Dernier message: 10/07/2009, 12h06
  3. java lang IllegalStateException
    Par jawed84 dans le forum Struts 1
    Réponses: 1
    Dernier message: 09/01/2008, 22h44
  4. java .lang. IllegalStateException
    Par zaineb.z dans le forum Hibernate
    Réponses: 2
    Dernier message: 04/08/2007, 00h20
  5. probleme Tomcat java.lang.IllegalStateException
    Par lulululucie dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 29/12/2006, 11h53

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