IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

[Conseils] Modifier XML ?


Sujet :

Servlets/JSP Java

  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut [Débutant] [Conseils] Modifier XML ?
    Bonjour,

    je sens que ça va en énerver certains, mais bon ...

    Je dois au sein d'une interface web : enregistrer des données dans un fichier XML. Mais je ne connais que très peu le langage JAVA.

    Mon problème est que je dois savoir faire ça en JAVA, dans des pages JSP, pour la fin de la semaine prochaine ... et ça doit fonctionner !

    (Je sais très bien le faire avec PHP. Je connais également bien XSLT et CSS pour la mise en forme de mon XML. Je sais enfin parcourir mon XML avec XPath.)

    L'interface web (xhtml + css) est déjà fait, ainis que les fichiers xslt et css de mise en forme du xml qui sera généré par mes pages JSP : j'ai fait un fichier XML en exemple.

    Ce fichier me servira de "base" : je voudrais le lire, modifier ce que je souhaite et l'enregistrer sous un autre nom OU l'enregistrer sous un autre nom et modifier le nouveau fichier, puis le sauvegarder. Dans les deux cas je ne modifie pas ma "base", forcément.


    Pourriez-vous donc me dire, comment faire cela rapidement et surtout le plus facilement possible, même si le code doit s'en trouver chargé !

  2. #2
    Membre régulier
    Profil pro
    Abcde
    Inscrit en
    Août 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Abcde
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Août 2004
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    JDOM est une librairie assez simple a utiliser pour manipuler des arbres XML

    http://www.jdom.org/

    @+

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Citation Envoyé par yopiyop
    JDOM est une librairie assez simple a utiliser pour manipuler des arbres XML

    http://www.jdom.org/

    @+
    Ok, merci de ta réponse.

    Tu me le conseillerais donc, plutot que SAX (http://java.developpez.com/cours/#xml) ?

    Connais-tu des tutoriels, avec des exemples concernant DOM ? (Il m'est plus facile de comprendre via un exemple concret ... comme beaucoup !)

  4. #4
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Donc, j'ai bien optimiser mon temps !


    J'ai fini toutes les parties de mon projet ... sauf la partie en JAVA !

    Voilà, ce que j'ai trouvé et conservé, comme "aide" :


    Le seul truc, c'est que je ne sais absolument pas comment organiser mon code !

    Tout ce que je connais : ce sont les bases du JAVA (sous Linux) : tout en ligne de commande avec exécution en mode console, ainsi que la construction de petites interfaces (AWT et Swing) et enfin : une ou deux applet !

    Ma question est donc (il ne me reste que 3 jours pour faire mon code JAVA ...) : comment organiser mon code pour exploiter les données d'un fichier XML avec JDOM ?

    Il me faudrait une réponse, du genre (attention je dis probablement n'importe quoi) :
    • Créer "ModifierXmlEcran.java" (une servlet ???)
    • Appeler ce fichier à partir de mes pages "modifierXml.jsp", "supprXml.jsp"
    • L'appel à ce fichier se fait comme ça : ...
    • Appeler encore ce fichier à partir de la page "saveNewXml.jsp"
    • Enregistrement de mon xml de base modifié (ecran.xml -> ecran_1.xml) dans un répertoire quelconque


    A moins que je puisse, non pas tout regrouper dans un seul script, diviser mon code en petit script que j'insèrerais directement dans mes pages JSP ?


    Ce n'est vraiment pas dans mes habitudes d'en demander autant au forum, mais je le suis contraint et forcé (trop peu de temps, pour me plonger dans la doc) !?


    Merci d'avance, pour votre aide.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    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
     
    avec les imports suivant :
     
    import javax.xml.transform.Templates;
    import javax.xml.transform.Transformer;
    import javax.xml.transform.TransformerFactory;
    import javax.xml.transform.stream.StreamResult;
    import javax.xml.transform.stream.StreamSource;
     
    	    // 1. Instantiate a TransformerFactory.
    	    tFactory = javax.xml.transform.TransformerFactory.newInstance();
     
    	    // 2. Use the TransformerFactory to process the stylesheet Source and generate a Transformer.
    	    xslSource = new javax.xml.transform.stream.StreamSource("un/chemin/vers/ton/fichier/xsl");
     
    	    // Load the stylesheet. If it's already compiled, Resin will just
    	    // load the compiled class. More sophisticated application will
    	    // cache the Templates object.
    	    stylesheet = tFactory.newTemplates(xslSource);
     
    	    // 3.Create a transformer. This could also be called from a
    	    // cached Templates object. The Transformer should not be cached.
    	    transformer = stylesheet.newTransformer();
     
    	    // 5.The source is a file.
    	    source = new javax.xml.transform.stream.StreamSource("un/chemin/vers/ton/fichier/XML");
     
    	    // 6.The result is a String.
     
    	    StringWriter tampon = new StringWriter();
    	    PrintWriter fluxSortie = new PrintWriter(tampon);
     
    	    result = new javax.xml.transform.stream.StreamResult(fluxSortie);
    	    transformer.transform(source, result);
     
    	    user_agents_list = tampon.toString() ;
     
    	    fluxSortie.flush();
    	    fluxSortie.close();
     
    	    fluxSortie = null;
    Voilà tu parse ton fichier xml avec ton xsl et tu récupere ça dans un string, tu peut aussi mettre à la place de la variable fluxSortie un pbget File vers un fichier xml de sortie.

  6. #6
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Merci c'est exactement ce que je cherchais à faire !

    Par contre, je ne vois pas trop comment appeler ce script, depuis ma page JSP ?


    Merci encore pour tout !

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    tu rajoute en en-tete de ta page jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="ISO-8859-1"?><%@ page contentType="text/xml; charset=iso-8859-1" language="java"
    import="javax.xml.transform.*, java.io.*, java.util.*, java.net.*" %>
    tu utilise le code d'avant.
    Et tu n'a plus qu'a écrire le resultat (stocké dans tampon.toString() ; ) dans la réponse ta page retournera du xml !
    Si tu n'as pas envie de retourner du xml enlève
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="ISO-8859-1"?>
    , et affiche ce que tu a envie.

  8. #8
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    Il serait peut-être préférable de faire ça sous forme de servlet ?

    Au final le processus sera le suivant :
    • Identification du membre validée (déjà en place, via une servlet)
    • Copie d'un fichier XML : "base.xml"
    • Modification (1ère fois) du fichier copié : "copie.xml"
    • Modification (2ème fois) du fichier copié : "copie.xml"
    • Modification (3ème fois) du fichier copié : "copie.xml"
    • Déplacement du fichier "copie.xml" vers le répertoire du membre


    La modification du fichier XML se fait obligatoirement en plusieurs fois, donc il serait souhaitable que le script de : "ouverture - modification - enregistrement" d'un fichier XML soit sous forme d'une servlet, non ?

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Oui perso j'utilise des Beans, mais bon après tu faits comme tu veut !

  10. #10
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Points : 449
    Points
    449
    Par défaut
    "Des beans", quel est la différence avec une Servlet ?

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    ooh pas grand chose juste que tu peut l'apeller à partir de ta page jsp.
    Mais franchement fait comme tu le sent. Du moment que ça marche !

Discussions similaires

  1. Modifier XML côté client
    Par Supernul dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2012, 12h52
  2. Des difficultés à parser et modifier XML
    Par blackbird1 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 18/03/2012, 12h52
  3. Modifier xml dynamiquement
    Par MrVentouse dans le forum Flex
    Réponses: 5
    Dernier message: 16/03/2010, 12h39
  4. [PHP] Quels conseils pour xml ?
    Par saimonesays dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 20/10/2009, 15h21
  5. [Conseil] L'XML/ XSLT est-il le bon choix?
    Par Hauwke dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/04/2007, 22h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo