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 :

java.io.UTFDataFormatException lorsque je parse un document xml contenat des accents


Sujet :

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

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Battosaiii
    Invité(e)
    Par défaut java.io.UTFDataFormatException lorsque je parse un document xml contenat des accents
    Bonjour,

    Je n'arrive pas a lire un document xml de ce type UTF-8.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?xml version="1.0" encoding="UTF-8"?>
    <ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" classCode="DOCCLIN" moodCode="EVN">
       <id root="2.16.840.1.113883.3.31.3.1.2.2.1" extension="dev_ser_400" displayable="false"/>
       <code xsi:type="CD" code="120" displayName=" CR de sꫯur hospitalier" codeSystem="2.16.840.1.113883.3.31.4.1"/>
    ...
    Comme vous pouvez le voir ce document contient un accent transformé en ꫯ.

    Lorsque je parse le document xml, contenant un accent, avec mon code java suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	Object LoadMessage(String messagetypestr, String message){
    		Object rim = null;
    		MessageTypeLoader<MessageType> mtl =org.hl7.meta.mif.MessageTypeLoaderAdapter.getInstance();
    		MessageType messageType = mtl.loadMessageType(messagetypestr);
    		try{
    		File f = new File(message);
    		FileInputStream in = new FileInputStream(f);
    		ApplicationContext ac = new ContextForThis();
    		rim = MessageContentHandler.parseMessage(ac, in, messageType);
    		}catch(Exception e){System.out.println("Cant load message file");}
    		return rim;
    	}
    L'erreur se trouve lorsque j utilise le code suivant : MessageContentHandler.parseMessage(ac, in, messageType);


    J'obtiens l'erreur suivante :

    java.lang.Error: java.io.UTFDataFormatException: Invalid byte 2 of 3-byte UTF-8 sequence.
    at org.hl7.xml.parser.MessageContentHandler.parseMessage(MessageContentHandler.java:101)
    at fr.aphp.mediweb.hl7.HL7ImportTest.LoadMessage(HL7ImportTest.java:31)
    at fr.aphp.mediweb.hl7.HL7ImportTest.testCDABasicExample(HL7ImportTest.java:38)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
    Caused by: java.io.UTFDataFormatException: Invalid byte 2 of 3-byte UTF-8 sequence.
    at org.apache.xerces.impl.io.UTF8Reader.invalidByte(Unknown Source)
    at org.apache.xerces.impl.io.UTF8Reader.read(Unknown Source)
    at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source)
    at org.apache.xerces.impl.XMLEntityScanner.scanLiteral(Unknown Source)
    at org.apache.xerces.impl.XMLScanner.scanAttributeValue(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1198)
    at org.hl7.xml.parser.MessageContentHandler.parseMessage(MessageContentHandler.java:93)
    ... 20 more



    Une facon de résoudre ce probleme c est de changer le caractere encodibg en ISO-8859-1 au lieu de UTF-8. J'aimerais avoir une solution qui puisse supporter sans modifier le document. Comment faire ?


    Merci
    Dernière modification par Battosaiii ; 04/10/2011 à 11h48.

Discussions similaires

  1. Problème de parsing de document XML
    Par Chorfa007 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 30/08/2011, 17h11
  2. Parsing d'un document XML : Problème des caractères spéciaux
    Par zomurn dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 18/08/2011, 16h50
  3. [JDOM] Erreur lors du parse d'un xml à cause des espaces
    Par tupac25 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 12/05/2010, 10h26
  4. [SAX] Probème de parse d'un Xml avec des contenus mixtes
    Par franck2008 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 30/06/2008, 10h39

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