Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1307 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [XML] créer un fichier XML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[XML] créer un fichier XML

n°629895
spitagor
Posté le 03-02-2004 à 16:45:29  profilanswer
 

Voila, j'ai une interface graphique en java...zones de textes , liste deroulantes etc... qui sont en fait des parametres.
 
 je voudrais sauvegarder ces attributs (enfin leur valeur plutot) au format XML
 
donc je voudrais juste savoir si ce que je pense faire est ce qu'il faut faire ou s'il y a d'autres moyens plus simples :
 
- lire mes attributs
créer un fichier XML  avec ses balises adequates(attributs de mon IHM) ainsi que les données qui vont avec, tout va a l'aide d'un FIleWriter
 
J'ai bon?
 
Par contre, je me demande comment faire pour ajouter des balises, car j'aurais besoin par la suite d'ajouter de nouveaux attributs dans ce fichier.... il faut tout faire "a la main"?
 
merci

mood
Publicité
Posté le 03-02-2004 à 16:45:29  profilanswer
 

n°630015
kfman
Credo quia absurdum
Posté le 03-02-2004 à 18:22:49  profilanswer
 

Enregistrer dans du xml est pas une mauvaise idée, niveau portablilité.
 
Pour XML, la hiérarchie des balises est très importantes.
 
IL faudrait ke tu fasses des routines permettant de parser et d'insérer ton code ou il faut...

n°630088
spitagor
Posté le 03-02-2004 à 19:48:47  profilanswer
 

ok ! pas de solution "toute faite " donc?
 
c'est ce que je voulais savoir

n°631955
tomlameche
Et pourquoi pas ?
Posté le 05-02-2004 à 10:23:33  profilanswer
 

spitagor a écrit :

ok ! pas de solution "toute faite " donc?
 
c'est ce que je voulais savoir


Pour enregistrer ton doc, tu peux commencer par créer ton arbre DOM avec javax.xml.parsers.DocumentBuilder et javax.xml.parsers.DocumentBuilderFactory puis l'enregistrer avec TransformerFactory et Transformer.
Exemple :
Création du doc :

Code :
  1. DocumentBuilderFactory factory =
  2.            DocumentBuilderFactory.newInstance();
  3.         try {
  4.           DocumentBuilder builder = factory.newDocumentBuilder();
  5.           document = builder.newDocument();  // Create from whole cloth
  6.           Element root =
  7.                   (Element) document.createElement("rootElement" );
  8.           document.appendChild(root);
  9.           root.appendChild( document.createTextNode("Some" ) );
  10.           root.appendChild( document.createTextNode(" " )    );
  11.           root.appendChild( document.createTextNode("text" ) );
  12.         } catch (ParserConfigurationException pce) {
  13.             // Parser with specified options can't be built
  14.             pce.printStackTrace();
  15.         }


 
Enregistrement du doc sous toto.xml:

Code :
  1. try {
  2.                 TransformerFactory usine = TransformerFactory.newInstance();
  3.                 Transformer transformeur = usine.newTransformer();
  4.                 FileOutputStream fichier = new FileOutputStream( "toto.xml" );
  5.                 transformeur.setOutputProperty(OutputKeys.ENCODING, "UTF-8" );
  6.                 transformeur.setOutputProperty(OutputKeys.INDENT, "yes" );
  7.                 transformeur.setOutputProperty(OutputKeys.METHOD, "xml" );
  8.                 transformeur.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no" );
  9.                 transformeur.setOutputProperty(OutputKeys.STANDALONE, "yes" );
  10.                 transformeur.setOutputProperty(OutputKeys.VERSION, "1.0" );
  11.                 transformeur.transform(new DOMSource(document), new StreamResult( fichier));
  12.                
  13.         } catch (TransformerConfigurationException e) {
  14.         e.printStackTrace();
  15.        
  16.         } catch (TransformerException e) {
  17.                 e.printStackTrace();
  18.         } catch (IOException ioe) {
  19.            // I/O error
  20.            ioe.printStackTrace();
  21.         }


 
Je sais pas si c'est vraiment la meilleure méthode, mais ça fonctionne.


---------------
Gérez votre collection de BD en ligne ! ---- Electro-jazzy song ---- Dazie Mae - jazzy/bluesy/cabaret et plus si affinité
n°633175
spitagor
Posté le 06-02-2004 à 10:45:30  profilanswer
 

Merci bien : j'etais justement en trian de faire un truc de ce style... a savoir qu'une meilleure methode (en theorie...) serait d'utiliser JAXB et des XML shemas, ce qui permet d'eviter d'écrire un arbre en mémoire donc d'alleger le truc
 
Neanmoins il semble que cette architecture soit tres controversée... je vais donc utiliser le bon vieux DOM... en esperant que ce ne soit pas trop lourd (je dois parcourir environ 20 fichiers XML, les parser et chercher des données dedans...j'espere que ca va aller vite !)
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [XML] créer un fichier XML

 

Sujets relatifs
ASP - PHP : effacer un fichier, pb de droitsquelle librairie pour segmenter/réassembler un fichier lors d'un envoi
Taille d'un fichier ??Créer un lien pour ouvrir l'explorer windows
[HELP] Données Access a mettre à jour via un fichier excell[java] envoie de fichier XML entre 2 clients
[PHP] Mettre 1 fonction par fichier ???[delphi] listing de fichier et sous-repertoires sans recursif ?
Problème d'ouverture de fichierCreer un fichier XML en Java
Plus de sujets relatifs à : [XML] créer un fichier XML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR