IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Supprimer un certain noeud dans une variable XML


Sujet :

jQuery

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut Supprimer un certain noeud dans une variable XML
    Bonjour,

    j'aimerai pouvoir supprimer un noeud dans une variable js qui contient un doc XML, voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    var xml ="<fam>
      <table id=3>
        <place>
           <name>lolo</name>
        </place>
        <place>
           <name>titi</name>
        </place>
      </table>
      <table id=7>
        <place>
           <name>lolo</name>
        </place>
        <place>
           <name>toto</name>
        </place>
        <place>
           <name>titif</name>
        </place>
      </table>
    </fam>";
    J'aimerai supprimer les places qui possèdent le nom lolo et titif dans la table d'id 7 ... et la je sèche!

    j'ai essayé un truc du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $(xml).find("table").each(function(){
     
    		if($(this).attr("id") == 7)
    		{		
    			$(this).find("place").each(function(){				
    				var the_name = $(this).find("name").text();
     
    				if(the_name == "lolo" || the_name == "titif")
    				{ 
    					$(this).remove();
    				}
     
    			});			
    		}
    	});
    Quelqu'un pourrai m'aiguiller?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    En fait je me rend compte que j'ai une erreur (je suis un BIG débutant en XML et tout ce qui est DOM...) :

    Est-il possible de manipuler un document XML contenu dans une variable Javascript (sous forme de string) ??

    avec pour exemple , ce genre de variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    var xml ="<fam>
      <table id=3>
        <place>
           <name>lolo</name>
        </place>
        <place>
           <name>titi</name>
        </place>
      </table>
      <table id=7>
        <place>
           <name>lolo</name>
        </place>
        <place>
           <name>toto</name>
        </place>
        <place>
           <name>titif</name>
        </place>
      </table>
    </fam>";
    Parce que j'ai fait des tests, et ca n'a pas l'air de marcher...

    Quelqu'un pourrai m'aider la dessus?

    Merci

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Bon apres mainte recherche, il semblerai que cela fonctionne sous FF mais qu'il y a un pb sous IE lorsque je fais
    IE semble supprimer tout le doc au lieu de la place rechercher!!

    Toujours personne pour m'aider?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Voici un exemple pret à tester pour les plus paresseux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <script type="text/javascript" src="http://jqueryui.com/jquery-1.3.2.js"></script>
    <script>
     
    function general_js_StringToXML(text)
    {
    	if (window.ActiveXObject)//IE
    	{
    		var doc=new ActiveXObject('Microsoft.XMLDOM');
    		doc.async='false';
    		doc.loadXML(text);
    	} 
    	else
    	{
    		var parser=new DOMParser();
    		var doc=parser.parseFromString(text,'text/xml');
    	}
    	return doc;
    } 
     
    function general_js_XMLToString(objXml)
    {
    	if (window.ActiveXObject)//IE
    	{
    		return objXml.xml;
    	} 
    	else
    	{
    		return (new XMLSerializer()).serializeToString(objXml);
    	}
    }
     
    $(document).ready(function() {
     
    	var str_glob_xml_pt = "<pt>"+
    				"<table id='3'>"+
    					"<pl>"+
    						"<name>titi</name>"+
    					"</pl>"+
    				"</table>"+
    				"<table id='7'>"+
    					"<pl id='p1'>"+
    						"<name>lolo</name>"+
    					"</pl>"+
    					"<pl>"+
    						"<name>toto</name>"+
    					"</pl>"+
    					"<pl id='p3'>"+
    						"<name>titif</name>"+
    					"</pl>"+
    				"</table>"+
    			  "</pt>";
     
    	glob_xml_pt = general_js_StringToXML(str_glob_xml_pt);			  
     
    	alert(general_js_XMLToString(glob_xml_pt));
     
     
    	$(glob_xml_pt).find("table").each(function(i){		
    		alert($(this).attr('id'));
    		if($(this).attr('id') == 7)		
    			$(this).remove();
    	});	
     
    	alert(general_js_XMLToString(glob_xml_pt));
    });			  
    </script>
    </head>
     
    <body>
     
    </body>
    </html>
    Testez vous aller voir, ca marche sous FF mais pas sous IE!!!

    Je vais devenir diiiiiiiiiiiiiinguuuueee...

    HELP PLEASE

Discussions similaires

  1. [JDOM] Menage de certains noeuds dans mon fichier XML
    Par deadliff dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 30/08/2007, 16h21
  2. [XSL] Stocker un jeu de noeud dans une variable
    Par Blustuff dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 22/06/2007, 13h01
  3. [XSLT]mettre un noeud dans une variable
    Par Morbo dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 15/06/2007, 21h28
  4. Enlver un noeud dans une structure XML
    Par Sharingan dans le forum ASP
    Réponses: 4
    Dernier message: 20/12/2004, 08h08
  5. Stocker un noeud dans une variable
    Par Devotion dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 23/09/2004, 17h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo