Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# probleme avec le XML

Envoyé par : Utilisateur anonyme

Date : 16/08/2004 16:10

Bonjour je dois modifier un fichier XML grace à XUL et JS à la fermeture de firefox. J'arrive à ouvrir le fichier XML a récupérer les données et les modifier mais j'ai un petit soucis.

j'ai ce code :

var doc = document.implementation.createDocument("", "as", null); 
doc.load("file://c:\\Tracking.xml", "text/xml");
var outputStr = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIOutputStream);
var parser = Components.classes["@mozilla.org/xmlextras/xmlserializer;1"].createInstance(Components.interfaces.nsIDOMSerializer);
var aFile=Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile); 
var outStream=Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream); 
var ressource = doc.getElementsByTagName("TRACK");
ressource.item(0).appendChild(trk);

si je ne met pas d'alert entre :

var ressource = doc.getElementsByTagName("TRACK");

et

ressource.item(0).appendChild(trk);

la console javascript me met ressource.item(0) has no properties !! alors que si je met l'alert le code fonctionne parfaitement. J'ai essayer de mettre une tempo entre les deux mais cela ne change rien ? une idée ??

# Re: probleme avec le XML

Envoyé par : laurentj

Date : 16/08/2004 23:31

l'url, c'est pas file:///c:\Tracking.xml normalement ? (avec 3 slash)

# Re: probleme avec le XML

Envoyé par : Utilisateur anonyme

Date : 20/09/2004 12:11

Salut! Bon, vu la date du probleme, je pense qu'il a été résolu, mais si ca peut aider d'autre personne:

Ton probleme vient du fait que par defaut, un document se charge en mode asynchrone, c'est à dire que le programme te rend la main avant d'avoir fini son "load" du document, et donc, si tu veux faire un traitement tout de suite apres, et bien il n'a pas tout chargé et cause une erreur...

La solution, toute simple, est avant de faire

doc.load()

de mettre:

doc.async = false;

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.