Rechercher : dans
Par :

Créer un fichier XML avec JAVA

Dernière réponse le 21 jui 2009 à 15:17:24 Najet, le 19 avr 2005 à 10:34:57 
 Signaler ce message aux modérateurs

Salut tlm,
Je souhaite écrire un fichier XML en utilisant JAVA.
Est-ce c'est une écriture normale comme pour un fichier ordinaire ou bien y a des méthodes spécifiées pour xml en JAVA?
Merci pour tous et bonne journée!

1

Kermitt31, le 19 avr 2005 à 10:45:57

Je connais pas trop XML mais ce qui est sur c'est que tu peux le faire comme pour ecrire d'autres fichiers... Peut etre existe-t-il des trucs pour se simplifier la tache mais je suis pas vraiment sur... Proverbe Thaïlandais:Pingouins dans les champs,
                                         hiver très méchant.­

Répondre à Kermitt31

2

Fred, le 19 avr 2005 à 10:49:12

Je te conseille de lancer un coup d'oeil aux fonctionnalités qu'offre l'API JDOM. C'est très simple à manipuler et rend la vie facile quand à la gestion des documents XML sous Java
Pour te restreindre les choses : tapes ceci sur Google

Simplifier la programmation XML avec JDOM
c'est le titre d'un article qui pourrait t'aider; mais j'ai pas le lien du site.
@+

Répondre à Fred

3

bryce, le 15 mai 2005 à 19:14:16

Salut, est ce que tu as réussi à écrire dans un fichier XML? Moi je ne vois pas trop comment faire surtout au niveau du code. Si tu peux me montrer des sources ca m'aiderai beaucoup. Merci

Répondre à bryce

4

stillfelil, le 20 mai 2005 à 23:43:02

Ce que je peut vous conseiller c'est de jeter un coup d'oeuil sur l'API xerces, elle fournit l'outil necessaire pour la manipulation des fichiers XML, Analyse, création etc...
c'est vrément pas difficile

Répondre à stillfelil

5

bryce, le 20 mai 2005 à 23:46:15

Oui merci mais j'avais déja regardé. Mais le problème c'est que j'y connais vraiment rien, du moins je ne sais pas comment commencé!

Répondre à bryce

6

era3d, le 6 déc 2007 à 15:41:03
  • +2

Bonjour à tous ;

Il y a plusieurs methode pour créer un document xml. Les parseurs SAX et DOM sont tres utilisés; JAVA a donc profiter et combiner les forces de ces deux parseurs pour mettre en place un API speciale qui permet de gerer les fichiers XML qui est JDOM.

Voici un bout de code qui permet de créer un fichier XML avec JDOM :

try{
//l'element root du document xml
Element root = new Element("etudiants");
Document doc = new Document(root);
//un noeud etudiant
Element node1 = new Element("etudiant");
node1.setAttribute("prenom","titi" );
node1.setAttribute("nom", "nomtiti");
Element node2 = new Element("etudiant");
node2.setAttribute("prenom","toto" );
node2.setAttribute("nom", "nomtoto");
....
....
root.addContent(node1);
root.addContent(node2);


}catch (Throwable e) {
e.printStackTrace();
}
write( doc, outWriterOrOutputOrFile, null );
.......//le doc xml est pret il faut donc l'ecrire voila la methode :

static public void write( org.jdom.Document doc,
Object outWriterOrOutputOrFile, String outputEncoding ) {
FileOutputStream fout = null;
try {
Format form = Format.getPrettyFormat();
// if provided, force the output encoding (otherwise, it defaults to "UTF8")
if ( null != outputEncoding ) {
form.setEncoding( outputEncoding );
}
XMLOutputter outputter = new XMLOutputter(form);
if (outWriterOrOutputOrFile instanceof OutputStream)
outputter.output(doc, (OutputStream) outWriterOrOutputOrFile);
else if (outWriterOrOutputOrFile instanceof Writer)
outputter.output(doc, (Writer) outWriterOrOutputOrFile);
else if (outWriterOrOutputOrFile instanceof File) {
File f = (File) outWriterOrOutputOrFile;
fout = new FileOutputStream(f);
outputter.output(doc, fout);
fout.close();
} else {
ErrorUtil.prt("XMLUtil.write() : type du writer inconnu !");
}
} catch (Exception e) {
ErrorUtil.prt("Impossible d'ecrire le JDOM");
e.printStackTrace();
if (fout != null)
try {
fout.close();
} catch (Exception ee) {
}
}
}


Et voila ; biensur a vous de modifier les parametres de votre XML et les noeuds.....

Répondre à era3d

7

mimi, le 15 mai 2008 à 17:09:10

Salem, svp j'ai un pb de lecture du fichier XML a partir du java je pense qu'il existe une ou des bibliothèques pour que les programmes s'executent svp je vous demande de m'aider merci

Répondre à mimi

8

era3d, le 20 mai 2008 à 14:43:33

Coucou ;
C'est possible de lire un document XML en utilisant le JAVA, mais il faut dés le début choisir le type de parseur : DOM SAX ou JDOM....

Je te conseille d'utiliser JDOM.
Le parsing est simple : il suffit, dans ton code JAVA de donner le nom entier de ton noeud root racine à JDOM.... Avec des méthodes simples, JDOM fera le reste....

Cordialement

Répondre à era3d

9

souma, le 10 jun 2008 à 12:07:39

Je veux generer ce fichier xml dans un code en java automatiquement:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root SYSTEM "Parameters.dtd">
<root batch_name="PrintBatchDescriptor" user="" password="" env="" >
<inputParameters>
<![CDATA[
<PRINT_BATCH>
<PRINT_CLIENT>RK5797</PRINT_CLIENT>
<PRINT_DEFAULT>
<PRINT_NB_COPY>1</PRINT_NB_COPY>
<PRINT_OUTPUT_PRINTER>TIFF</PRINT_OUTPUT_PRINTER>
<PRINT_OUTPUT_PRINTER_PARAMETERS>
<?xml version="1.0" encoding="utf-8" ?><printer name="TIFF" export="RASTER"><defaultFormat name="Letter" orientation="landscape"/><maxFormat name="Letter"/><defaultMargins left="10" right="10" top="10" bottom="10"/><execUnix/><execWindows>rem Default:\\regor\RO9246
if exist &quot;%CATOUT%&quot; copy /b %CATOUT% \\regor\RO9246
if not exist &quot;%CATOUT%&quot; echo &quot;The file %CATOUT% doesn&apos;t exist.&quot;
</execWindows><rtimeUnix/><rtimeWindows>rem Default:D:\Temp\catout.out
set CATOUT=D:\Temp\catout.out
</rtimeWindows><RASTERProperties><TIFFProperties DPI="600" compression="Fax Group 4" quality="1"/></RASTERProperties></printer></PRINT_OUTPUT_PRINTER_PARAMETERS>
<PRINT_OUTPUT_FILE>
D:\Local\Home\Data\M523P1005-01.tif
</PRINT_OUTPUT_FILE>
<PRINT_IMAGE_FORMAT_USE>0</PRINT_IMAGE_FORMAT_USE>
<PRINT_FORM_WIDTH>215.9</PRINT_FORM_WIDTH>
<PRINT_FORM_HEIGHT>279.4</PRINT_FORM_HEIGHT>
<PRINT_FORM_ORIENTATION>1</PRINT_FORM_ORIENTATION>
<PRINT_POSITION_X>10</PRINT_POSITION_X>
<PRINT_POSITION_Y>70.4424</PRINT_POSITION_Y>
<PRINT_SCALE>0.329798</PRINT_SCALE>
<PRINT_MARGIN_LEFT>10</PRINT_MARGIN_LEFT>
<PRINT_MARGIN_RIGHT>10</PRINT_MARGIN_RIGHT>
<PRINT_MARGIN_TOP>10</PRINT_MARGIN_TOP>
<PRINT_MARGIN_BOTTOM>10</PRINT_MARGIN_BOTTOM>
<PRINT_ROTATION>0</PRINT_ROTATION>
<PRINT_MAP_TO_PAPER>0</PRINT_MAP_TO_PAPER>
<PRINT_WHITE_PIXEL>1</PRINT_WHITE_PIXEL>
<PRINT_BANNER>Printed by er25389 on 04/06/2008 12:30:54</PRINT_BANNER>
<PRINT_BANNER_POSITION>0</PRINT_BANNER_POSITION>
<PRINT_LOGO_VISIBILITY>0</PRINT_LOGO_VISIBILITY>
<PRINT_LOGO_FILE>

</PRINT_LOGO_FILE>
<PRINT_COLOR_MODE>0</PRINT_COLOR_MODE>
<PRINT_QUALITY>0</PRINT_QUALITY>
<PRINT_GAMMA>1</PRINT_GAMMA>
<PRINT_LINEWITH_SPECIFICATION>0</PRINT_LINEWITH_SPECIFICATION>
<PRINT_LINETYPE_SPECIFICATION>0</PRINT_LINETYPE_SPECIFICATION>
<PRINT_LINECAP>0</PRINT_LINECAP>
<PRINT_BACKGROUND_COLOR_RED>1</PRINT_BACKGROUND_COLOR_RED>
<PRINT_BACKGROUND_COLOR_GREEN>1</PRINT_BACKGROUND_COLOR_GREEN>
<PRINT_BACKGROUND_COLOR_BLUE>1</PRINT_BACKGROUND_COLOR_BLUE>
<PRINT_DPI>150</PRINT_DPI>
<PRINT_TEXT_BLANKING>0</PRINT_TEXT_BLANKING>
<PRINT_LINE_TYPE_OVERLAP>0</PRINT_LINE_TYPE_OVERLAP>
<PRINT_VISU_IMAGE_COUNT>1</PRINT_VISU_IMAGE_COUNT>
<PRINT_VISU_IMAGE_NUM>-2</PRINT_VISU_IMAGE_NUM>
<PRINT_VISU_CLIP_TO_SHEET>1</PRINT_VISU_CLIP_TO_SHEET>
<PRINT_VISU_DETAIL_SHEET>1</PRINT_VISU_DETAIL_SHEET>
<PRINT_VISU_FILTER_NAME> </PRINT_VISU_FILTER_NAME>
<PRINT_VISU_RENDERING>1</PRINT_VISU_RENDERING>
</PRINT_DEFAULT>
<PRINT_JOB>
<PRINT_DOC>
D:\Local\Home\Data\M523P1005-01.CATDrawing
</PRINT_DOC>
</PRINT_JOB>
</PRINT_BATCH>
]]>
<file id="doc_0" destination="" filePath="D:\Local\Home\Data\M523P1005-01.CATDrawing" type="bin" upLoadable="Yes" automatic="1"/>
</inputParameters>
<outputParameters>
<file id="output_0" destination="" filePath="D:\Local\Home\Data\M523P1005-01A.tif" type="bin" upLoadable="Yes" automatic="1"/>
</outputParameters>
<PCList>
<PC name="_SL3.slt_85AB9K65691" />
</PCList>
</root>

merci de me repondre ca urge!!!

Répondre à souma

12

 fred532, le 21 jui 2009 à 15:17:24

Pété de rire : "vous pouvez résoudre mon problème à ma place ? Merci de me répondre ca urge!!!"

Répondre à fred532

10

Autre, le 28 jui 2008 à 16:04:55

Si tu as tout ton fichier de sortie, le plus simple est d’écrire comme un fichier texte.
Sans t’embêter avec du DOM ou autre.

Répondre à Autre

11

sodeboo, le 27 fév 2009 à 18:55:47

Pour celui qui veux utiliser XML sous java, écris le sous un editeur de text normal puis declares une variable de type File qui le contiendra apres

pour celle qui veux parcourir son fichier XML alors tu dois voir par rapprot a ton probleme soit avec SAX si ta pas besoin d'une traçabilité des noeud (XPATH) sinon le DOM
mais il faut declaé un curseur avant selon tes besoins .

Répondre à sodeboo