2010-09-29 11 views
1

J'ai construit un gadget Vista. Il récupère un fichier XML local appelé "settings.xml". Il charge et je change quelques choses. Ensuite, j'appelle la méthode xmldoc.Save ("settings.xml") qui fonctionne très bien dans Exécuter Internet Explorer ... mais si vous l'exécutez dans la barre latérale, elle n'écrit pas dans les chargements XML uniquement.Vista Gadget - Écrire dans un fichier XML

Comment l'obtenir pour écrire dans le fichier XML?

 settingsxmldoc = new ActiveXObject("Microsoft.XMLDOM"); 
     settingsxmldoc.async = false; 
     settingsxmldoc.onreadystatechange = readSettingsXML; 
     settingsxmldoc.load("settings.xml"); 

     if (Favorites.length > 0) 
     { 
      for (i = 0; i < Favorites.length; i++) 
      { 
       var newElement = settingsxmldoc.createElement("db"); 
       newElement.appendChild(settingsxmldoc.createTextNode(Favorites[i])); 
       favdbs[0].appendChild(newElement); 
      } 
     } 

     settingsxmldoc.save("settings.xml"); 

Répondre

1

Dans un gadget, un nom de fichier partiellement qualifié évalue au protocole x-gadget:///. ActiveXObject s ne sait rien de ce protocole, donc ils ne savent pas où placer le fichier et ils jettent une erreur. Utilisez un nom de fichier complet et cela devrait fonctionner correctement:

settingsxmldoc.save(System.Gadget.path + "\\settings.xml"); 
Questions connexes