lecture d'un fichier XML

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : lecture d'un fichier XML

par jeff » 21 déc. 2005, 16:05

tout marche ou presue :-"
suaf sous ie
alors c'est mon tableau ou non????

par jeff » 21 déc. 2005, 15:27

:oops: t'avais raison pour les noeuds texte
la fonction que j'utilise enleve que les noeuds vides

par jeff » 21 déc. 2005, 15:00

pour l'interpretation c'est bon j'ai fait le traitement avant avec

Code : Tout sélectionner

cleanWhitespace(XML.documentElement);
mon probleme actuel se situe sur cette ligne
 args[i]=node.attributes[i].nodeValue;
qui cause un warning sous ff

Code : Tout sélectionner

Erreur : [JavaScript Error: "invalid array length" {file: "http://localhost/projet_ing/template/templates/js/groupe.js" line: 90}] Fichier source : http://localhost/projet_ing/template/templates/js/groupe.js Ligne : 90
par contre sous ie ca bloque a

Code : Tout sélectionner

var args=new Array();

par Cyrano » 21 déc. 2005, 14:53

Attention, le DOM n'est pas également interprété sous IE et Firefox : J'ai pu découvrir relativement récemment que les retours de lignes sont ajoutés dans l'arborescence hiérarchique du DOM sous l'un et pas sous l'autre. On règle le problème en supprimant tous les retours de ligne du code, mais ça a le défaut de rendre le code beaucoup moins lisible :?

par jeff » 21 déc. 2005, 14:45

rectification sous
ff j'ai ce message d'erreur mais mon tableau est bien rempli

Code : Tout sélectionner

Erreur : [JavaScript Error: "invalid array length" {file: "http://localhost/projet_ing/template/templates/js/groupe.js" line: 90}] Fichier source : http://localhost/projet_ing/template/templates/js/groupe.js Ligne : 90
et sous ie ca plante ici

Code : Tout sélectionner

var args=new Array();
code complet

Code : Tout sélectionner

if(node.hasAttributes()){ var args=new Array(); for(i in node.attributes){ args[i]=node.attributes[i].nodeValue; alert(i+'---'+args[i]); } //eval(functions(xml,args)); }else{ alert('yes'); eval(functions(xml)); }

par jeff » 21 déc. 2005, 14:37

bon ca fonctionne pour la lecture des attribt mais comment executer une fonction a partir d'une chaine
avec eval surement mais je n'y arrive pas

lecture d'un fichier XML

par jeff » 21 déc. 2005, 13:17

salut
j'aimerai lire un fichier mais j'ai des erreur dans mon code a chaque ligne et pourtant c'est pas long

Code : Tout sélectionner

<root> <action arg0="argument0".... argn="argumentn">nomdefonction</action> <message>jvdj</message> </root>
et le code
function action(XML)
{
	cleanWhitespace(XML.documentElement);
	var xml=XML.documentElement;
	var functions=xml.getElementsByTagName('action')[0].firstChild.nodeValue;
	//debogage
	/*var functions=xml.getElementsByTagName('action')[0];
	lediv = document.createElement("div");
	for(i in functions){
	lediv.innerHTML += i+ " : "+functions[i]+"<br />";
	}
	document.body.appendChild(lediv);*/
	//
	alert(functions);
	if(xml.getElementsByTagName('action')[0].hasAttributes()){
		var args=new Array();
		args=xml.getElementsBytagName('action')[0].getAttribute();
		alert(args);
		functions(xml,args);
	}else{
		alert('yes');
		eval(functions(xml));
	}
	alert(functions);
}
je suit bloquer sur hasAttributes()
je veut recuperer tout les attributs pour les mettre dans la fonction