Bonjour,
j'ai un fichier xml :
je veux charger ce fichier en java avec StAx
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 <?xml version="1.0" encoding="UTF-8"?> <tns:bibliotheque xmlns:tns="http://www.jmdoudoux.com/test/stax" * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jmdoudoux.com/test/stax biblio2.xsd "> <?MonTraitement?> <tns:livre> <!-- mon commentaire --> <tns:titre>titre 1</tns:titre> <tns:auteur> <tns:nom>nom 1</tns:nom> <tns:prenom>prenom 1</tns:prenom> </tns:auteur> <tns:editeur>editeur 1</tns:editeur> </tns:livre> </tns:bibliotheque>
voila le code java :
quand j'execute il me donne l'erreur suivante dans la console
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 import java.io.FileReader; import javax.xml.stream.events.XMLEvent; import javax.xml.stream.*; import javax.xml.stream.XMLStreamException; public class test_StAX { public static void main(String[] args) throws Exception { XMLInputFactory xmlif = XMLInputFactory.newInstance(); XMLStreamReader xmlr = xmlif.createXMLStreamReader(new FileReader("resources/exemple.xml")); XMLStreamReader xmlsr = xmlif.createFilteredReader(xmlr, new MonStreamFilter()); while (xmlsr.hasNext()) { int eventType = xmlsr.next(); switch (eventType) { case XMLEvent.START_ELEMENT: System.out.println("START_ELEMENT "+xmlsr.getName()); break; case XMLEvent.END_ELEMENT: System.out.println("END_ELEMENT "+xmlsr.getName()); break; default: System.out.println("AUTRE "+xmlsr.getName()); break; } } } } -------------------------classe_MonStreamFilter---------------------------------- import javax.xml.stream.StreamFilter; import javax.xml.stream.XMLStreamReader; public class MonStreamFilter implements StreamFilter { @Override public boolean accept(XMLStreamReader reader) { if(reader.isStartElement() || reader.isEndElement()) return true; else return false; } } --------------------------------------------------------------------------
que dois je faire ?Error while creating a stream Filterjavax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,67]
Message: Element type "tns:bibliotheque" must be followed by either attribute specifications, ">" or "/>".
Exception in thread "main" javax.xml.stream.XMLStreamException: ParseError at [row,col]:[2,67]
Message: Element type "null" must be followed by either attribute specifications, ">" or "/>".
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLStreamFilterImpl.findNextEvent(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLStreamFilterImpl.hasNext(Unknown Source)
at test_StAX.main(test_StAX.java:17)
-----------------------------------------------------------------------
Merci.
Partager