String To XML

String To XML - Java - Programmation

Marsh Posté le 22-03-2010 à 10:43:06    

Bonjour,
comment je peu transformer une chaine de caractère XML vers un fichier XML
par exemple :

Code :
  1. String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><personnes><etudiant classe=\"P2\"><nom>Josef</nom><prenom>Nicolas</prenom></etudiant></personnes>" ;

 
et je veux comme résultat un fichier XML contenant cette chaine.
 
je sais comment convertir un fichier Xml en string mais le contraire non.
 
Merci

Reply

Marsh Posté le 22-03-2010 à 10:43:06   

Reply

Marsh Posté le 22-03-2010 à 16:03:47    

Code :
  1. FileWriter writer = new FileWriter("monBeauFichier.xml" );
  2.  writer.write(xml);
  3.  writer.flush();
  4.  writer.close();


Version basique sans validation xml :)


Message édité par phnatomass le 22-03-2010 à 16:04:23
Reply

Marsh Posté le 22-03-2010 à 18:09:58    

Merci Phnatomass c'est exactement ce que je cherche ^^.
merci encore

Reply

Marsh Posté le 22-03-2010 à 18:14:18    

tu es sur de l'utilité d'un flush juste avant le close ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 23-03-2010 à 09:44:25    

Je doute que ça soit utile d'autant plus qu'il n y a pas de BufferedWriter utilisé.
Par habitude j'ai tendance à flusher surtout quand je ne maitrise pas la création du flux, car de mémoire on peut avoir de mauvaise surprise pour les flux bufferisés.

Reply

Marsh Posté le 23-03-2010 à 18:36:06    

il y'a des cas ou le fichier ne se crée pas et je ne sais pas pourquoi !
y'a t-il une méthode pour pouvoir etre sur que le fichier est crée ?
 
j'ai essayé ce code :

Code :
  1. org.w3c.dom.Document document;
  2.  String xml ="<?xml version=\"1.0\" encoding=\"UTF-8\"?><personnes><etudiant classe=\"P2\"><nom>Josef</nom><prenom>Nicolas</prenom></etudiant></personnes>" ;
  3.   String filename = "Fichier.xml";
  4.  InputSource s = new InputSource(new StringReader(xml));
  5.  document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(s);
  6.  DOMSource domSource = new DOMSource();
  7.  Writer writer = new  OutputStreamWriter(new FileOutputStream("monBeauFichier.xml" ), "utf-8" );  StreamResult result = new StreamResult(writer);
  8.  TransformerFactory tf = TransformerFactory.newInstance();
  9.  Transformer transformer = tf.newTransformer();
  10.  transformer.transform(domSource, result);
  11.  writer.close();


mais il me crée un fichier Xml contenant :

Code :
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>


et c'est pas ma chaine !!


Message édité par man_u le 23-03-2010 à 18:40:43
Reply

Marsh Posté le 24-03-2010 à 17:39:38    

Ligne 9
 DOMSource domSource = new DOMSource(document);

Reply

Marsh Posté le 24-03-2010 à 19:57:19    

Merci phnatomass c'est le cas .

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed