bonjour,
est ce que je peux en utilisant Jdom lorsque je parse un fichier XML pour chaque lecture de sa balise je parse un autre fichier car j'ai écrit un code qui fait ça mais ça marche pas.merci
bonjour,
est ce que je peux en utilisant Jdom lorsque je parse un fichier XML pour chaque lecture de sa balise je parse un autre fichier car j'ai écrit un code qui fait ça mais ça marche pas.merci
aroua,
fait voir ton code parce que la je crois comprendre ce que tu veux faire mais ton code pourra plus nous aider
merci
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
voilà mon code:la ligne: parseeeeeeeeeeeeeeeeeeeeeeeeee ne s'affiche pas et un message d'eereur s'affiche puisque j'ai pas rempli ma matrice
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 public void SimlpeKmeans(String pathpatentnumber, String Result ){ int [][]mat = null; String name; String number; String in; int freq; boolean ok=false; Vector vect=new Vector(); Vector dataPoints = new Vector(); vect= getConceptName (this.pathcpt); org.jdom.Document document; Element racine; org.jdom.Document document2; Element racine2; String patidfile; Element courant2 = null; SAXBuilder sxb = new SAXBuilder(); try { document = sxb.build(new File(pathpatentnumber)); racine=document.getRootElement(); List listNumber =racine.getChildren("Number"); //On crée un Iterator sur notre liste Iterator i = listNumber.iterator(); int l=0; while (i.hasNext()) { Vector petitvect = new Vector(); Element courant = (Element)i.next(); number= courant.getText(); System.out.println("voici le patent:"+number); patidfile=Result+"/"+number+"/"+number.replaceAll(",", "")+".xml"; //mat=FrequencyConcept(vect,this.patidfile,l); System.out.println(patidfile); document2 = sxb.build(new File(patidfile)); System.out.println("je parseeeeeeeeeeeeeeeee"); racine2=document2.getRootElement(); List listConcept =racine2.getChildren("Concept"); Iterator h= listConcept.iterator(); for (int k=0; k < vect.size(); l++) { System.out.println(vect.elementAt(k)); while ((h.hasNext()) && (ok==false)) { courant2 = (Element)h.next(); in=( (Element) courant2.getChildren("Name")).getText(); if (in.equals(vect.elementAt(k))) { ok=true;} } if (ok==false) {mat[l][k]=0; } else { freq = Integer.parseInt(((Element)courant2.getChildren("frequency")).getText()); mat[l][k]=freq;} } for(int p=0; p < mat[0].length ; p++){ petitvect.addElement(mat[l][p]); } l++; dataPoints.add(new PatentData(petitvect,number)); } }catch(Exception e){} SimpleKmeans jca = new SimpleKmeans(5,1000,dataPoints); jca.startAnalysis(); Vector[] v = jca.getClusterOutput(); for (int i=0; i<v.length; i++){ Vector tempV = v[i]; System.out.println("-----------Cluster"+i+"---------"); Iterator iter = tempV.iterator(); while(iter.hasNext()){ PatentData dpTemp = (PatentData)iter.next(); //System.out.println(dpTemp.getObjName()+"["+dpTemp.getX()+","+dpTemp.getY()+"]"); } } }
Je pense pas que le message "parseeeeeeeee" ne s affiche pas car tu ne rempli pas ta matrice vu que tu t en sert pas pour creer ton second doc et jusqua "parseeeeeeeeeee" ...
fait voir le message d erreur que tu as
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
c'est le message d'erreur:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 >= 0
at java.util.Vector.elementAt(Unknown Source)
at fr.inria.edelweiss.sealife.ClusteringAlgo.SimpleKmeans.setInitialCentroids(SimpleKmeans.java:143)
at fr.inria.edelweiss.sealife.ClusteringAlgo.SimpleKmeans.startAnalysis(SimpleKmeans.java:48)
at fr.inria.edelweiss.sealife.ClusteringAlgo.PrgMain.SimlpeKmeans(PrgMain.java:177)
at fr.inria.edelweiss.sealife.PatentMining.main.test.main(test.java:180)
mais j'arrive pas à afficher le message parseeeeeeeeeee donc il est clair que mon code ne parse pas le 2ème fichier de chemin patidfile
oui ca viens d un vecteur mais pourtant tu ne les utilise pas avant ...
peut etre que c'est :
vect= getConceptName (this.pathcpt);
essaye de mettre entre com
Sinon
tu as cette ligne qui s affiche ?? : System.out.println(patidfile);
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
pour:vect= getConceptName (this.pathcpt);
c'est bon déjà j'affiche le contenu de vect et j'ai pu parser aussi le fichier de chemin this.pathcpt dans la mèthode :
getConceptName (this.pathcpt)
oui la ligne System.out.println(patidfile); s'affiche et son résultat est:
Z:\Resultat1/7,355,008/7355008.xml
Si le fichier xml existe bien...c'est bizarre que l erreur survient au moment ou tu veux l ouvrir ...
En plus l erreur correspond a une liste ou vecteur
faut que tu regarde bien quelle taille ont tes vecteurs / listes .. quelles tailles tu utilise .. et si toujours pas de rep tu par avec ta classe vide et tu rajoute ligne par ligne et tu veras bien ou ca plante ...
ps : désolé je n'ai plus le temps aujourd hui .. c'est l heure du gouter la
++ tiens moi au jus
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
j'ai déjà fait ligne par ligne et toujours j'ai pas le message parseeeeeeeeeeeeee
en tous cas merci
ben si tu as : System.out.println(patidfile); qui s'affiche
et : System.out.println("je parseeeeeeeeeeeeeeeee"); qui s affiche pas
c 'est que l erreur vient de :
document2 = sxb.build(new File(patidfile));
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
en fait je sais que l'erreur est dans document2 = sxb.build(new File(patidfile));
mais j'ai pas pu la résoudre.
ton fichier "patidfile" existe ?
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
jai ajouté:
catch(Exception e){System.out.println(" we've got a problem");
e.printStackTrace ();}
et j'ai maintenant ce type d'erreur:
we've got a problem
org.jdom.input.JDOMParseException: Error on line 395 of document file:/Z:/Resultat1/7,355,008/7355008.xml: The processing instruction target matching "[xX][mM][lL]" is not allowed.
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:462)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at fr.inria.edelweiss.sealife.ClusteringAlgo.PrgMain.SimlpeKmeans(PrgMain.java:162)
at fr.inria.edelweiss.sealife.PatentMining.main.test.main(test.java:180)
Caused by: org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:314)
at org.apache.xerces.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
at org.apache.xerces.impl.XMLScanner.scanPIData(XMLScanner.java:689)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanPIData(XMLDocumentFragmentScannerImpl.java:693)
at org.apache.xerces.impl.XMLScanner.scanPI(XMLScanner.java:664)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1576)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:338)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:827)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:757)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1168)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:455)
... 4 more
Caused by: org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:314)
at org.apache.xerces.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
at org.apache.xerces.impl.XMLScanner.scanPIData(XMLScanner.java:689)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanPIData(XMLDocumentFragmentScannerImpl.java:693)
at org.apache.xerces.impl.XMLScanner.scanPI(XMLScanner.java:664)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1576)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:338)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:827)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:757)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1168)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:455)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at fr.inria.edelweiss.sealife.ClusteringAlgo.PrgMain.SimlpeKmeans(PrgMain.java:162)
at fr.inria.edelweiss.sealife.PatentMining.main.test.main(test.java:180)
Caused by: org.xml.sax.SAXParseException: The processing instruction target matching "[xX][mM][lL]" is not allowed.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:314)
at org.apache.xerces.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
at org.apache.xerces.impl.XMLScanner.scanPIData(XMLScanner.java:689)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanPIData(XMLDocumentFragmentScannerImpl.java:693)
at org.apache.xerces.impl.XMLScanner.scanPI(XMLScanner.java:664)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1576)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:338)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:827)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:757)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:148)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1168)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:455)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:809)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:788)
at fr.inria.edelweiss.sealife.ClusteringAlgo.PrgMain.SimlpeKmeans(PrgMain.java:162)
at fr.inria.edelweiss.sealife.PatentMining.main.test.main(test.java:180)
Exception in thread "main" java.lang.NullPointerException
at fr.inria.edelweiss.sealife.ClusteringAlgo.PrgMain.SimlpeKmeans(PrgMain.java:185)
at fr.inria.edelweiss.sealife.PatentMining.main.test.main(test.java:180)
t'as quoi a la ligne 395 de Z:/Resultat1/7,355,008/7355008.xml ??
Heureux soient les fêlés, car ils laisseront passer la lumière.
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
OK fait voir ton fichier "patidfile" il est surement mal formé
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
merci je vois l'erreur mon fichier est mal formé.
et ben voilà rien ne vaut un bon printStackTrace
Heureux soient les fêlés, car ils laisseront passer la lumière.
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
pas de pb ..
... un flash ... et ça repart
700R ... catch me if u can
Best regards,
.
n'oubli pas le sinon y'en a qui vont crier
Heureux soient les fêlés, car ils laisseront passer la lumière.
Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.
Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager