Question pour les experts en java

Discussion dans 'Support informatique' créé par yassinium, 8 Mars 2006.

  1. yassinium

    yassinium Visiteur

    J'aime reçus:
    1
    Points:
    0
    je veux utiliser un parser DOM pour extraire des donnees XML qui sont echanges avec un autre module d'un projet en java
    le parser que je veux utiliser c'est un parser DOM de Apache xerces
    mais la plateforme de developpement que j'utilise (JavaBuilder) ne reconnais pas la classe parserDOM
    j'ai essaye avec d'autres plateformes de developpement (comme eclipse) et ca donne la meme chose

    le programme n'arrive pas a creer un parser car il ne reconnait pas la classe DOMparser
    voila un le test que j'essaye de faire


    import org.apache.xerces.parsers.DOMParser;


    public class testDOM {

    public static void main (String args[]) {
    testDOM myTester = new testDOM ();
    myTester.parser("test.xml");
    }


    private void parser(String aFile){

    DOMParser parser = new DOMParser();
    ....

    }
    }




    je me demande s'il faut pas telecharger cette classe et l'integrer dans eclipse
    ptt qu'il n'y existe pas par defaut
    qu'est ce que vous en pensez ?
    j'espere qu'il y a qcq qui puisse m'aider car j'en ai vraiment besoin pour un projet
    [:Z]
     
  2. le3fou

    le3fou Visiteur

    J'aime reçus:
    0
    Points:
    0
    Re : Question pour les experts en java

    Yes, you need to download this file and integrate into your java program, either Dr Java or Netbeans... I worked with files before, I just forgot the steps on how to do so.... But I am sure you need to integrate that with the rest of the files for the program to excecute... I can get back to you on this if this doesn't work... and I can show you how to get it to work.

    Good luck [:Z]
     
  3. yassinium

    yassinium Visiteur

    J'aime reçus:
    1
    Points:
    0
    Re : Question pour les experts en java

    j'ai telecharge le code source de org.apache.xerces du site de eclipse
    c'est un grand dossier qui contient bcp de classes java notamment celle dont j'ai besoin : org.apache.xerces.parsers.DOMParser
    mais je vois pas ou l'inserer dans le programme
     
  4. BillGates

    BillGates Citoyen

    J'aime reçus:
    4
    Points:
    38
    Re : Question pour les experts en java

    envois une copie de ton projet
    c Borland JBuilder que tu as ??
     
  5. yassinium

    yassinium Visiteur

    J'aime reçus:
    1
    Points:
    0
    Re : Question pour les experts en java

    voila la classe qui marche pas a cause du parserDOM
    elle permet de parser un fichier XML parcourir ses elements
    test.xml est fichier XML qui sert juste pour tester


    import org.apache.xerces.parsers.DOMParser;
    import org.w3c.dom.*;
    import java.io.*;

    public class testDOM {

    public static void main (String args[]) {
    testDOM myTester = new testDOM ();
    myTester.parser("test.xml");
    }


    private void parser(String aFile){

    // create a DOM parser
    DOMParser parser = new DOMParser();

    // parse the documents
    try
    {

    parser.parse(aFile);

    //processing
    printNodes("", parser.getDocument());

    }
    catch (org.xml.sax.SAXParseException m)
    {
    System.out.println("*testDOM*"+m.getMessage());
    Message err1=new Message(m.getMessage(),1);
    }
    catch (IOException e)
    {
    System.err.println("*testDOM*"+e.getMessage());
    Message err2=new Message(e.getMessage(),1);
    }
    catch (org.xml.sax.SAXException f)
    {
    System.err.println(f);
    Message err3=new Message(f.getMessage(),1);
    }

    }

    /*recursive function that traverses the documents and calls the function importFct
    whenever it finds the import tag*/
    private void printNodes (String prefix, Node node)
    {

    int type = node.getNodeType();

    if (type == Node.ELEMENT_NODE)
    {
    System.out.println(prefix + "Element with name:"+ node.getNodeName());
    }
    else if (type == Node.TEXT_NODE)
    {
    System.out.println(prefix + "Text with content:"+ node.getNodeValue());
    }

    NodeList children= node.getChildNodes();
    if (children != null)
    {
    for (int i=0; i< children.getLength();i++)
    {
    printNodes(prefix + "_", children.item(i));
    }
    }
    }
    }


    maintenant j'utilise Eclipse
     
  6. BillGates

    BillGates Citoyen

    J'aime reçus:
    4
    Points:
    38
    Re : Question pour les experts en java

    yassinium, ecoutes, je ne suis pas expert java, malheureusement... je l'ai pas touché de 96 je crois...
    mais essais de changer ton import par

    import com.sun.org.apache.xerces.internal.parsers.DOMParser

    j'ai installé JBuilder pour tester et ca ne genere pas d'erreur cette declaration... la seule chose qui me donne erreur c la classe Message qu'il ne trouve pas... et je ne comprend pas non plus pourquoi tu l'utilise, si ton erreur est imprimer a la ligne avant Message, et je ne te vois pas utiliser tes variables err1 err2 et err3 ???!!!!

    en tout cas j'espere que ca va t'aider... et si tu as autre chose, fais vite avant que je desinstalle JBuilder [06c]
     
  7. yassinium

    yassinium Visiteur

    J'aime reçus:
    1
    Points:
    0
    Re : Question pour les experts en java

    j'ai essaye avec ton import mais ca marche pas
    en fait j'utilise plus JBuilder mais Eclipse
    Message est une autre classe que j'utilise dans le projet
    elle permet ,en cas d'erreur, d'affiche un message specifiant la nature de l'erreur survenue lors de l'execution
    si c'est juste ca qui pose probleme alors c bon
    mais je sais pas pourquoi sous Eclipse ca marche pas
    ptt qu'il faut mettre un autre import


    import java.awt.event.*;
    import java.awt.*;
    import javax.swing.*;

    class Message extends JFrame implements ActionListener
    {
    JScrollPane panel;

    public Message(String erreur,int flag)
    {
    if(flag==1)
    setTitle("******************************************************************Error Window******************************************************************");
    else
    setTitle("****************************************************************Completed Operation****************************************************************");

    setSize(1000,150);
    JTextArea message = new JTextArea( erreur);
    message.setLineWrap(true);
    message.setWrapStyleWord(true);
    message.setBackground(new Color(255,255,255,100));
    message.setOpaque( false );
    JScrollPane panel = new JScrollPane(message);
    panel.setVerticalScrollBarPolicy(
    panel.VERTICAL_SCROLLBAR_ALWAYS);
    panel.setPreferredSize(new Dimension(250, 250));
    getContentPane().setLayout(new BoxLayout( getContentPane(), BoxLayout.Y_AXIS ) );
    getContentPane().add(panel);
    // gestion evenementielle de la fermeture de la fenêtre
    addWindowListener(new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    } ) ;


    Container contentPane = getContentPane();
    this.show();

    }

    public void actionPerformed(ActionEvent evt)
    {

    }

    }
     
  8. BillGates

    BillGates Citoyen

    J'aime reçus:
    4
    Points:
    38
    Re : Question pour les experts en java

    mon import est correct, voici une image de UML generée par JBuilder
    [​IMG]

    j'ai jamais touché ou vu eclipse.. mais je ne crois pas que le choix de IDE derange ta classe...
    de toute façon tu dois avoir une maniere d'ajouter des librairies a ton projet avec eclipse....
     
  9. yassinium

    yassinium Visiteur

    J'aime reçus:
    1
    Points:
    0
    Re : Question pour les experts en java

    merci bcp a khay pour ton aide
    au pire si ca marche pas sous eclipse j'ai qu'a reinstaller JBuilder et mettre ton import
    eclipse c gratuit et en plus c plus simple que JBuilder
    on m'a dit qu'il faut mettre des fichiers .jar dans le dossier qui contient la classe testDOM pour que ca marche partout
     
  10. BillGates

    BillGates Citoyen

    J'aime reçus:
    4
    Points:
    38
    Re : Question pour les experts en java

    c'est un plaisir !!
     

Partager cette page