hayfekh
Messages postés11Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention15 avril 2008
-
27 mars 2008 à 17:40
hayfekh
Messages postés11Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention15 avril 2008
-
6 avril 2008 à 15:26
Bonjour à tous,
Je suis encore débutant en Java et je suis en train de développer une application qui prend un fichier XML(à 3 niveaux<mot> à part <doc>) comme input et affiche le contenu dans un Jtextpane,lors de l'exécution, l'utilisateur selectionne des segments du texte affiché(1 seul ,caractère,un mot,un phrase..) et leurs modifie le couleur en cliquant sur un bouton qui fait aussi la copie de ces segments du texte dans un Jtree(je suis en train de vulgariser les choses)jusqu'à ici c'est bon,mais le problème c'est que en fin d'exécution l'utilisateur doit enregistrer en tapant le nom du fichier XML output qui devra être semblable à l'input mais doit contenir des balises supplémentaires pour les segments de texte qui sont colorés.Je ne sais pas comment créer ce fichier en ajoutant les balises surtout que je ne sais pas comment localiser les segments colorés sur l'interface dans le fichier input .Ou bien peut être qu'il fallait créer un nouveau fichier XML à partir du texte affiché dans JtextPane?
Je m'excuse si je vous ai cassé la tête avec ma longue histoire mais je suis coincé et j'ai trop besoin de votre aide.
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 27 mars 2008 à 23:26
Salut:
Ce que tu fait ressemble beaucoup aux balises en HTML. D'ailleurs je t'invites à s'inspirer de cette ressemblance.
Je pense qu'il faut recréer le fichier XML. Cette approche est la plus simple et s'aligne parfaitement avec la nature du problème.
hayfekh
Messages postés11Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention15 avril 2008 28 mars 2008 à 22:36
Merci pour votre réponse,
mais si vous avez un document (ou même une adresse)qui pourrait m'aider puisque je ne suis pas très doué pour la manipulation des fichiers XML,ça m'aiderai beaucoup.
Merci encore.
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 3 avril 2008 à 11:06
hayfekh
Messages postés11Date d'inscriptionjeudi 13 mars 2008StatutMembreDernière intervention15 avril 2008 6 avril 2008 à 15:26
Salut,
merci pour votre question,je progresse petit à petit,j'ai décidé de créer de nouveau le fichier XML mais maintenant j'ai un autre problème c'est que je veux faire la lecture du fichier XML à l'aide de Dom,le code ne comprend pas d'erreurs en compilation mais ne fonctionne pas,voici le code de la fonction lecture :
public String lecture(String nomfich)
{ int n= 0;
String result="";
try{
DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
fabrique.setValidating(true);
DocumentBuilder constructeur = fabrique.newDocumentBuilder();
File xml = new File(nomfich);
Document document = constructeur.parse(xml);
Element racine = document.getDocumentElement(); //je pense que le problème est dans la racine
//Parcour du fichier xml
NodeList list= racine.getChildNodes();
NodeList list1;NodeList list2;
Element elem;
if (list.getLength()!=0)
{
for (int i=0;i<list.getLength();i++)
{
elem = (Element)list.item(i);
list1=elem.getChildNodes();
if (list1.getLength()!=0)
{
for (int j=0;j<list.getLength();j++)
{
Element element1=(Element) list1.item(j);
list2=element1.getChildNodes();
if (list2.getLength()!=0)
{
for (int k=0;k<list2.getLength();k++)
{
Element element2=(Element) list2.item(k);
Affichage( element2.getNodeValue() + " ");
result=element2.getNodeValue();
} }
Affichage( "\n ");
}
}
}
E exécution il ne fonctionne pas et m'affiche:
*** Erreur ***
Message : Document root element "DOCUMENT", must match DOCTYPE root "null".
Ligne 1, colonne 49
Public id : null
*** Erreur ***
Message : Document is invalid: no grammar found.
Ligne 1, colonne 49
Public id : null
[DOCUMENT: null]errrrrrrreur!!!!!!!java.lang.NullPointerException
BUILD SUCCESSFUL
Si vous avez une idée n'hésitez pas à me la communiquer.
<!-- / message -->