Bonjour,

Je souhaite réaliser un petit script javascript pour afficher le contenu d'un fichier xml dans Internet explorer, sous forme d'un formulaire, pour pouvoir le modifier et le sauver.


Mon plan est le suivant:

Loader le fichier xml dans un objet Microsoft.xmldom.
Utiliser les méthodes de cet objet pour le modifier.
Sauver l'objet xmldom modifié dans un fichier xml.

J'y était presque mais il est semble il impossible d'utiliser la fonction save de l'objet dans le contexte javascript IE.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
xmlDoc=new ActiveXObject("Microsoft.XMLDOM" ); 
xmlDoc.async="false"; 
xmlDoc.loadXML(str); 
//operations sur l'objet xmldoc 
xmlDoc.save("c:\\helpFramework.xml" );  //c'est ici que ça bloque
ma question est : est ce vraiment impossible? Peut on contourner?

Pourtant j'ai trouvé un moyen de sauver un fichier depuis internet explorer qui marche très bien:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
//methode pour sauver dans un fichier 
  var TristateFalse = 0; 
  var ForWriting = 2;  
  myActiveXObject = new ActiveXObject("Scripting.FileSystemObject" ); 
  myActiveXObject.CreateTextFile("c:\\MyXMLfromIE.xml" ); 
  file = myActiveXObject.GetFile("c:\\MyXMLfromIE.xml" ); 
  text = file.OpenAsTextStream(ForWriting, TristateFalse); 
 
  text.Write("string écrite dans le fichier de sortie" ); 
  text.Close();
Donc je peux:
-loader un fichier xml dans un objet xmldom
-modifier mon objet xml, accéder à ses elts, attributs
-écrire des strings dans un fichier sur c:/

IL me faudrait donc simplement récupérer l'objet xmldom sous forme d'une string pour que mon affaire marche bien.

Est ce que quelqu'un aurait une idée de comment faire?
Ou encore quelqu'un aurait il un moyen convivial (pour un utilisateur lambda) pour éditer un fichier xml dans une belle user interface.
Je pensais que m'appuyer sur le dom parser et les form html serait économique, mais là je stagne...Faut il sortir l'artillerie lourde: java, compilation, etc...


Voilà je suis novice sur ces question alors peut-être que mon approche est complètement insensée, n'hésitez pas à guider la brebis égarée...
Merci d'avance

Jean-Philippe