[XML-Dom] selectSingleNode, propriété "text"

selectSingleNode, propriété "text" [XML-Dom] - HTML/CSS - Programmation

Marsh Posté le 31-01-2003 à 13:34:13    

  Salut!
 

Code :
  1. var obj = document.getElementById(id);
  2. t = xml_index.selectSingleNode('path');
  3. if(t == 0)
  4.      obj.innerHTML = "Nothing found";
  5. else
  6.      obj.innerHTML = t.text;


 
pourquoi ce code génère-t-il une erreur ? L'erreur se produit lors de t.text. Je comprends pas trop j'ai lu plusieurs exemples en VBScript (mais rien en js !) et c'était pareil...
merci
  ANT

Reply

Marsh Posté le 31-01-2003 à 13:34:13   

Reply

Marsh Posté le 31-01-2003 à 14:47:20    

euh, t sur de

Code :
  1. xml_index.selectSingleNode('path');

??
 
normalement, la syntaxe pour le selectSingleNode, c  

Code :
  1. xml_index.selectSingleNode("//NOEUD" );

 
 
Suivant la valeur de ton path, je te dirais bien d'essayer un truc dans le genre...

Code :
  1. xml_index.selectSingleNode("//"+path);

Reply

Marsh Posté le 31-01-2003 à 15:52:18    

Merci pour toutes ces précisions  :)  
Mais le problèmes reste entier !  :heink:

Reply

Marsh Posté le 31-01-2003 à 15:56:59    

ANTSite a écrit :

Merci pour toutes ces précisions  :)  
Mais le problèmes reste entier !  :heink:  


 
c ou que ca plante ?
ta variable path, tu la recuperes comment ?

Reply

Marsh Posté le 31-01-2003 à 16:08:59    

mais non path c'est pas une variable c'est le nom de mon noeud on va dire. Et comme je l'ai dit au début du topic c'est t.text qui plante, il à l'air de pas connaître la propriété .text de t...

Reply

Marsh Posté le 31-01-2003 à 16:18:24    

ANTSite a écrit :

mais non path c'est pas une variable c'est le nom de mon noeud on va dire. Et comme je l'ai dit au début du topic c'est t.text qui plante, il à l'air de pas connaître la propriété .text de t...


 
tu peux donner un peu plus de ton code que je teste ?

Reply

Marsh Posté le 31-01-2003 à 17:08:02    

Alors voila la page html: index.html
 
<html>
<head>
<title>Titre</title>
 
</head>
 
<xml id="xml_index" src="index.xml"></xml>
 
<script language="Javascript">
function goSearch()
{
 var obj = document.getElementById('result';);
 
 t = xml_index.selectSingleNode("//progs" );
 if(t == 0)
     obj.innerHTML = "Nothing found";
 else
     obj.innerHTML = t.text;
}
</script>
 
 
<body onLoad="goSearch()">
<div id="result"></div>
</body>
</html>
 
et index.xml:
 
<?xml version="1.0" standalone="yes"?>
 
<root>
 <test id="1">
                <progs>
                       <id>App1</id>
                       <id>App2</id>
                </progs>
 </test>
</root>
 
merci de ton aide !  :hello:

Reply

Marsh Posté le 31-01-2003 à 17:23:03    

Il faut que tu fasses

Code :
  1. if (t.text=="" )...


au lieu de

Code :
  1. if(t == 0)


Reply

Marsh Posté le 31-01-2003 à 17:30:09    

tu es sur ? Parce que dans la doc:
 
selectSingleNode
Return Value
Object. Returns the first node that matches the XSL Pattern query. If no nodes match the query, it returns Null
 
et justement, t.text ne marche pas c'est ça le problème? Tu as testé ?
Et puis ça marche ça par contre j'en suis sur de if(t == 0)


Message édité par antsite le 31-01-2003 à 17:30:47
Reply

Marsh Posté le 31-01-2003 à 17:32:20    

ANTSite a écrit :

tu es sur ? Parce que dans la doc:
 
selectSingleNode
Return Value
Object. Returns the first node that matches the XSL Pattern query. If no nodes match the query, it returns Null
 
et justement, t.text ne marche pas c'est ça le problème? Tu as testé ?
Et puis ça marche ça par contre j'en suis sur de if(t == 0)


 
essaye...  

Reply

Marsh Posté le 31-01-2003 à 17:32:20   

Reply

Marsh Posté le 31-01-2003 à 22:43:48    

Oui c'est ce que je viens de faire et ça ne marche pas:
ce code génère une erreur:
 

Code :
  1. t = xml_index.selectSingleNode("/progs" );
  2. if(t.text == "" )
  3.      obj.innerHTML = "Nothing found";
  4. else
  5. {
  6. }

Reply

Marsh Posté le 01-02-2003 à 01:18:03    

ANTSite a écrit :

Oui c'est ce que je viens de faire et ça ne marche pas:
ce code génère une erreur:
 

Code :
  1. t = xml_index.selectSingleNode("/progs" );
  2. if(t.text == "" )
  3.      obj.innerHTML = "Nothing found";
  4. else
  5. {
  6. }




 

Code :
  1. t = xml_index.selectSingleNode("//progs" );


 
t sous quel navigateur ?


Message édité par walli le 01-02-2003 à 01:18:22

---------------
NP :
Reply

Marsh Posté le 01-02-2003 à 09:53:46    

Je te remercie pour tout en fait: le problème c'était que je mettais un slash au lieu de 2... pourtant j'avais essayé mais j'avais laissé t == 0...
Donc un grand merci et excuse moi de n'avoir su faire tout ce que tu me disais sur le moment !
Au fait t == 0 ne marche en effet pas mais t == null marche et je pense que c'est mieux pour savoir s'il a trouvé quelquechose :-)
Pour les noeuds faut mettre 2 slashs à chaque fois ?
//noeud1//noeud2 ?
 
merci  :jap:

Reply

Marsh Posté le 01-02-2003 à 12:20:35    

entre tes sous noeuds, tu ne dois mettre qu'un '/' à la fois :  

Code :
  1. xml_index.selectSingleNode("//NOEUD1/NOEUD2/NOEUD3" );


 
voilà...

Reply

Marsh Posté le 01-02-2003 à 14:15:00    

Merci pour tout  :hello:

Reply

Sujets relatifs:

Leave a Replay

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