Probléme d'exécution d'un prg avec la version 1.5

kobee12 Messages postés 153 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 31 octobre 2006 - 5 juin 2005 à 22:40
kobee12 Messages postés 153 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 31 octobre 2006 - 6 juin 2005 à 16:53
Bonjour àa tous,

j'ai un petit soucis depuis que je suis passé à la version 1.5 de java.
J'ai un programme qui fonctionne très bien avec la version 1.4, mais depuis que je suis passé à la version 1.5, il me fait des erreurs sur des contantes de textes qu'il va chercher dans un fichier :

"Erreur avec les Constantes de Texte de la langue choisie : fra"
fra étant une chaine de caractères qui se trouvent dans un fichier xml.

Voici la fonction qui va chercher la chaine de caractères :
//Chargement des constantes textes
public void chargementLangues(String lang) {
try {
temp = xml.getNode(lang);
LANG = new String[temp.length];
for (int i = 0; i < temp.length; i++) {
LANG[i] = xml.StringValeur(temp[i]);
}
}
catch (Exception ex) {
System.err.println("Erreur avec les Constantes de Texte de la langue choisie : " + lang);
}
}

C'est comme s'il prenait la chaine de caractères pour fra et non pour fra

xml est une classe écrite avec la classe javax.xml.
Quelqu'un saurait pourquoi je n'arrive pas à exécuter mon prog avec la version 1.5 de java.
merci d'avance.

kobee12

2 réponses

cs_mep Messages postés 86 Date d'inscription vendredi 7 mai 2004 Statut Membre Dernière intervention 3 septembre 2008 4
6 juin 2005 à 11:05
Regarde la doc de java 1.5 car entre la 1.4 et la 1.5 pas mal de fonctionnalité XML on bougé.
0
kobee12 Messages postés 153 Date d'inscription dimanche 26 janvier 2003 Statut Membre Dernière intervention 31 octobre 2006 1
6 juin 2005 à 16:53
En fait j'avais récupéré une classe XML qui était pas mal du tout et que j'ai mis ci-dessous.
Je vais regarder la javadoc 1.5 mais j'espère ne pas à avoir besoin de tout modifier au niveau de la classe car mon programme est basé sur cette classe
Apparemment c'est la fonction getNode qui ne lui plait pas.

import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
// For write operation
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;


import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;


/************************************************************
* Nom de la Classe : XML *
* Description : Permet de charger, de lire et de modifier *
* un fichier XML *
* extends : rien *
* implements : rien *
* utilise : le nom du fichier xml *
************************************************************/


public class XML {
static Document document;
private File f = null;
public XML(String xml) {


DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();


try {
f = new File(xml); //lecture du fichier


DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.parse(f);
}
catch (SAXParseException spe) {
// erreur fait par el parsing
System.out.println("\n** Parsing erreur"
+ ", line " + spe.getLineNumber()
+ ", uri " + spe.getSystemId());
System.out.println(" " + spe.getMessage());


// Use the contained exception, if any
Exception x = spe;
if (spe.getException() != null) {
x = spe.getException();
}
x.printStackTrace();


}
catch (SAXException sxe) {
// erreur généré apr l'application
Exception x = sxe;
if (sxe.getException() != null) {
x = sxe.getException();
}
x.printStackTrace();


}
catch (ParserConfigurationException pce) {
// Parser with specified options can't be built
pce.printStackTrace();


}
catch (IOException ioe) {
// I/O error
ioe.printStackTrace();
}
}


/****************************************************************************
* nom : getNode
* commentaire : recevoir une node
* recoi : nom de la node rechercher
* renvoi : la node rechercher
****************************************************************************/


public Node[] getNode(String node) {
System.out.println("node : " + node);
Node[] temp = null;
int j = 0;
// recevoir les nodes
NodeList list = document.getElementsByTagName(node);
temp = new Node[list.item(0).getChildNodes().getLength()];
//lire les enfants
for (int i = 1; i < list.item(0).getChildNodes().getLength(); i += 2) {
if (list.item(0).getChildNodes().item(i).getChildNodes().item(0) != null) {
temp[i] = list.item(0).getChildNodes().item(i).getChildNodes().item(0);
++j;
}
}
Node[] temp2 = new Node[j];
j = 0;
//enlever les espaces
for (int i = 0; i < list.item(0).getChildNodes().getLength(); ++i) {
if (temp[i] != null) {
temp2[j] = temp[i];
++j;
}
}


return (temp2);


}


/****************************************************************************
* nom : setNode
* commentaire : met à jour une node
* recoi : node rechercher, nom de la valeur à modifier, nouvelle valeur
* renvoi : réussite
****************************************************************************/


public boolean setNode(String node, String nom, String valeur) {
Node temp = null;
// lire les enfants et modifier
try {
NodeList list = document.getElementsByTagName(node);
for (int i = 1; i < list.item(0).getChildNodes().getLength(); i += 2) {
if (list.item(0).getChildNodes().item(i).getChildNodes().item(0) != null) {
temp = list.item(0).getChildNodes().item(i).getChildNodes().item(0);
if (temp.getParentNode().getNodeName().compareToIgnoreCase(nom) == 0) {
temp.setNodeValue(valeur);
}
}
}
return true;
}
catch (Exception ex) {
return false;
}
}


/****************************************************************************
* nom : miseAJour
* commentaire : met à jour le fichier XML
* recoi : rien
* renvoi : réussite
****************************************************************************/


public boolean miseAJour() {
try {
// mettre a jour
TransformerFactory tFactory =
TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();


DOMSource source = new DOMSource(document);
//afficher dans le fichier
StreamResult result = new StreamResult(f);
transformer.transform(source, result);
return true;


}
catch (TransformerConfigurationException tce) {
// Error generated by the parser
System.out.println("\n** Transformer Factory erreur");
System.out.println(" " + tce.getMessage());


// Use the contained exception, if any
Throwable x = tce;
if (tce.getException() != null) {
x = tce.getException();
}
x.printStackTrace();
return false;


}
catch (TransformerException te) {
// Error generated by the parser
System.out.println("\n** Transformation erreur");
System.out.println(" " + te.getMessage());


// Use the contained exception, if any
Throwable x = te;
if (te.getException() != null) {
x = te.getException();
}
x.printStackTrace();
return false;
}


}


/****************************************************************************
* nom : MontrerTout
* commentaire : montrer tout dasn la console
* recoi : rien
* renvoi : rien
****************************************************************************/


public void MontrerTout() {
try {
// lecture du fichier
TransformerFactory tFactory =
TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();


DOMSource source = new DOMSource(document);
//afficher
StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);


}
catch (TransformerConfigurationException tce) {
// Error generated by the parser
System.out.println("\n** Transformer Factory error");
System.out.println(" " + tce.getMessage());


// Use the contained exception, if any
Throwable x = tce;
if (tce.getException() != null) {
x = tce.getException();
}
x.printStackTrace();


}
catch (TransformerException te) {
// Error generated by the parser
System.out.println("\n** Transformation error");
System.out.println(" " + te.getMessage());


// Use the contained exception, if any
Throwable x = te;
if (te.getException() != null) {
x = te.getException();
}
x.printStackTrace();
}
}


/****************************************************************************
* nom : nomParent
* commentaire : renvoi le parent en String
* recoi : node rechercher
* renvoi : nom
****************************************************************************/


public String nomParent(Node node) {
return node.getParentNode().getNodeName();
}


/****************************************************************************
* nom : StringValeur
* commentaire : renvoi la valeur en string
* recoit : node rechercher
* renvoi : valeur en string
****************************************************************************/


public String StringValeur(Node node) {
return ((Object)node).toString();
}


/****************************************************************************
* nom : IntValeur
* commentaire : renvoi la valeur en int
* recoi : node rechercher
* renvoi : valeur en int
****************************************************************************/


public int IntValeur(Node node) {
try {
int temp = Integer.parseInt(this.StringValeur(node));
return temp;
}
catch (NumberFormatException ex) {
return 0;
}
}


}

Bon @+

kobee12
0
Rejoignez-nous