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

JavaScript Discussion :

Inserer dans une feuille XML..;


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut Inserer dans une feuille XML..;
    Bonjour à tous ,
    Je posséde une fonction pour ouvrir un fichier XML data.xml

    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
    function loadXML(){
     
    	// Routine de vérification si le navigateur gêre la méthode utilisée
    	if (document.implementation && document.implementation.createDocument) {
    		// déclaration pour Mozilla et FF
    		docXml = document.implementation.createDocument('', '', null);
     
     
    	}
    	else if (window.ActiveXObject){
    		// déclaration pour IE
    		docXml = new ActiveXObject("Microsoft.XMLDOM");
     
    	}
    	else {
     
    		alert('Votre navigateur ne saurait pas éxécuter ce script.');
     
    	}
     
    	docXml.load("data.xml");
    	alert("data XML chargé...");
     
     
    }
    // fonction de traitement des données chargées

    Pour faire simple j'ai besoin d'inserer les bonnes valeurs dans mon fichiers XML
    Par exemple j'ai mes 4 variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       var AMdebutLundi;
    	 var AMFinLundi;
    	 var PMdebutLundi;
    	 var PMFinLundi;
    que je dois inserer dans mon fichier XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <techniciens>
       <org.lrd.data.Technicien>
      <id>0</id>
      <nbHeuresSupHebdo>0</nbHeuresSupHebdo>
      <horaires>
        <jour>
          <day>LUN</day>
          <startAM>8.0</startAM>
          <endAM>12.0</endAM>
          <startPM>14.0</startPM>
          <endPM>18.0</endPM>
        </jour>
    entre je dois donc avoir la valeur de ma variable Mais je sais pas comment parcrourir mon arbre et comment inserer cette valeur
    Merci de votre aide précieuse
    Cordialement
    Argol.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    J'aurais préférer une version avec (XPATH ?) c'est possible ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function technicien(num) {
     
    	var numero = parseInt(num, 10);
     
     
    	// on crée des variables de type Array, qui recoivent comme valeur les balises choisies dnas le document xml
    	var techniciens = docXml.getElementsByTagName('org.lrd.data.Technicien');
     
    		alert(techniciens[0].firstChild.nodeValue);
     
    	var heureSup = docXml.getElementsByTagName('nbHeuresSupHebdo');
    	alert(heureSup);
    j'ai essayer sa mais bon je sais pas quel balise utilisé etc.. je trouve trés peu de doc

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    la tu me poses une colle Argol
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    lol
    Avec Jquery je peux inserer des valeurs dans un fichier XML aussi ?
    l'exmple permet de lire mais je sais pas si on peut inserer !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    grace a vous j'ai pu avancer un peu, merci.

    j'ai donc fait en jquery une fonction pour modifier mon XML data
    une fois que j'ai fait mes affectations comme dans ma fonction modifieXML
    comment je fais pour envoyer le string avec le send en AJAX de ce que j'ai modifié ?

    ou je récupère ce string et comment marche la méthode ci-dessous ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
         $.ajax({
                   url: "page.php"
                   , type: "POST"
                   , contentType: "text/xml"
                   , processData: false
                   , data: xmlDocument
                   , success: handleResponse
                });

    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
    function modifieXML()
     {
     
       $.ajax( {
                type: "GET",
                url: "data.xml",
                dataType: "xml",
                success: function(xml) 
                         {
     
                           $(xml).find('jour').each(   
                             function()
                             {
    							 var jour = $(this).find('day').text();
    							 if  (jour=="LUN")
    							 {							 
     
    							  $(this).find('startAM').nodeValue=AMdebutLundi;
    							   $(this).find('endAM').nodeValue=AMFinLundi;
    							    $(this).find('startPM').nodeValue=PMdebutLundi;
    								 $(this).find('endPM').nodeValue=PMFinLundi;
     
    							 }

    merci de votre aide.

  8. #8
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    je vois pas comment je peux avoir un string de mon fichier XML que je modifie dans ma fonction

  9. #9
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    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
    var xmlDocument;
    function modifieXML()
     {
     
       $.ajax( {
                type: "GET",
                url: "data.xml",
    	    xmlDocument: "data.xml",
                dataType: "xml",
                success: function(xml) 
                         {
     
                           $(xml).find('jour').each(   
                             function()
                             {
    							 var jour = $(this).find('day').text();
    							 if  (jour=="LUN")
    							 {							 
    							  alert( $(this).find('startAM').text());
    							  $(this).find('startAM').nodeValue=AMdebutLundi;
    							  alert( $(this).find('startAM').text());
    							   $(this).find('endAM').nodeValue=AMFinLundi;
    							    $(this).find('startPM').nodeValue=PMdebutLundi;
    								 $(this).find('endPM').nodeValue=PMFinLundi;
     
    							 }
    							else if (jour=="MAR")
    								 {
    							  $(this).find('startAM').nodeValue=AMdebutMardi;
    							   $(this).find('endAM').nodeValue=AMFinMardi;
    							    $(this).find('startPM').nodeValue=PMdebutMardi;
    								 $(this).find('endPM').nodeValue=PMFinMardi;
    								 }
    									else if (jour=="MER")
    											{
    											  $(this).find('startAM').nodeValue=AMdebutMercredi;
    							                 $(this).find('endAM').nodeValue=AMFinMercredi;
    							                $(this).find('startPM').nodeValue=PMdebutMercredi;
    								             $(this).find('endPM').nodeValue=PMFinMercredi;
    											}
    											else if (jour=="JEU")
    													{
    											         $(this).find('startAM').nodeValue=AMdebutJeudi;
    							                         $(this).find('endAM').nodeValue=AMFinJeudi;
    							                         $(this).find('startPM').nodeValue=PMdebutJeudi;
    								                    $(this).find('endPM').nodeValue=PMFinJeudi;
    							 						}
    													else if (jour=="VEND")
    														{
    														  $(this).find('startAM').nodeValue=AMdebutVendredi;
    							                             $(this).find('endAM').nodeValue=AMFinVendredi;
    							                            $(this).find('startPM').nodeValue=PMdebutVendredi;
    							                            	 $(this).find('endPM').nodeValue=PMFinVendredi;
    														}
    														else if (jour=="SAM")
    															{
    															  $(this).find('startAM').nodeValue=AMdebutSamedi;
    							                                $(this).find('endAM').nodeValue=AMFinSamedi;
    							                               $(this).find('startPM').nodeValue=PMdebutSamedi;
    							                               	 $(this).find('endPM').nodeValue=PMFinSamedi;
    															}
    															else if (jour=="DIM")
    															{
    															  $(this).find('startAM').nodeValue=AMdebutDimanche;
    							                                $(this).find('endAM').nodeValue=AMFinDimanche;
    							                                $(this).find('startPM').nodeValue=PMdebutDimanche;
    							                            	 $(this).find('endPM').nodeValue=PMFinDimanche;
    															}
     
     
     
                              });
                          }
            });
      }
     
    $(document).ready( modifieXML() );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function envoieXML()
     {
     
     $.ajax({
       type: "POST",
       url: "serveur.php",
    	processData: false,
       data: xmlDocument,
       success: function(msg){
         alert( "Data Saved: " + msg );
       }
     });
     }
     $(document).ready( envoieXML() );
    j'ai essayé d'utiliser une variable globale mais je sais pas comment la mettre dans ma fonction modifier() et si réelement cette variable globale que j'envoie ensuite dans envoieXML() et bien modifier

    de l'aide svp

  10. #10
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    il est certain que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var xmlDocument;
    function modifieXML()
     {
     
       $.ajax( {
                type: "GET",
                url: "data.xml",
    			xmlDocument: "data.xml",
                dataType: "xml",
                success: function(xml)
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlDocument: "data.xml",
    ne fonctionne pas
    mais je vois pas comment faire pour envoyer dans ma fonction envoieXML() le fichier que j'ai modifier précédemment

    de plus pour la modificatio j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	  $(this).find('startAM').nodeValue=AMdebutLundi;
    mais je sais pas si sa marche ....
    il faut peut etre faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).find('startAM').text(AMdebutLundi);


    En gros :
    1) comment modifier la valeur d'un noeud ?
    2) comment recuperer le fichier XML modifier pour 'l'envoyer ?


    Merci de votre aide.

  11. #11
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 116
    Par défaut
    voila mon code




    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
    79
    80
    81
    82
    var documentXML;
    function modifieXML()
     {
     
       $.ajax( {
                type: "GET",
                url: "data.xml",
    			dataType: "xml",
                success: function(xml) 
                         {
     
     
                           $(xml).find('jour').each(   
                             function()
                             {
    							 var jour = $(this).find('day').text();
    							 if  (jour=="LUN")
    							 {							 
     
     
    						        $(this).find('startAM').text(AMdebutLundi);
     
     
    							   $(this).find('endAM').nodeValue=AMFinLundi;
    							    $(this).find('startPM').nodeValue=PMdebutLundi;
    								 $(this).find('endPM').nodeValue=PMFinLundi;
     
    							 }
    							else if (jour=="MAR")
    								 {
    							  $(this).find('startAM').nodeValue=AMdebutMardi;
    							   $(this).find('endAM').nodeValue=AMFinMardi;
    							    $(this).find('startPM').nodeValue=PMdebutMardi;
    								 $(this).find('endPM').nodeValue=PMFinMardi;
    								 }
    									else if (jour=="MER")
    											{
    											  $(this).find('startAM').nodeValue=AMdebutMercredi;
    							                 $(this).find('endAM').nodeValue=AMFinMercredi;
    							                $(this).find('startPM').nodeValue=PMdebutMercredi;
    								             $(this).find('endPM').nodeValue=PMFinMercredi;
    											}
    											else if (jour=="JEU")
    													{
    											         $(this).find('startAM').nodeValue=AMdebutJeudi;
    							                         $(this).find('endAM').nodeValue=AMFinJeudi;
    							                         $(this).find('startPM').nodeValue=PMdebutJeudi;
    								                    $(this).find('endPM').nodeValue=PMFinJeudi;
    							 						}
    													else if (jour=="VEND")
    														{
    														  $(this).find('startAM').nodeValue=AMdebutVendredi;
    							                             $(this).find('endAM').nodeValue=AMFinVendredi;
    							                            $(this).find('startPM').nodeValue=PMdebutVendredi;
    							                            	 $(this).find('endPM').nodeValue=PMFinVendredi;
    														}
    														else if (jour=="SAM")
    															{
    															  $(this).find('startAM').nodeValue=AMdebutSamedi;
    							                                $(this).find('endAM').nodeValue=AMFinSamedi;
    							                               $(this).find('startPM').nodeValue=PMdebutSamedi;
    							                               	 $(this).find('endPM').nodeValue=PMFinSamedi;
    															}
    															else if (jour=="DIM")
    															{
    															alert($(this).find('startAM').text());
    															  $(this).find('startAM').text(AMdebutDimanche);
    															  	alert($(this).find('startAM').text());
    							                                $(this).find('endAM').nodeValue=AMFinDimanche;
    							                                $(this).find('startPM').nodeValue=PMdebutDimanche;
    							                            	 $(this).find('endPM').nodeValue=PMFinDimanche;
    															}
     
     
     
                              });
    						  				  	documentXML= xml;
                          }
     
            });
     
      }

    a la fin je fais
    puis j'envoie au serveur;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function envoieXML()
     {
     
     $.ajax({
       type: "POST",
       url: "serveur.php",
    	processData: false,
       data: documentXML,
       success: function(msg){
         alert( "Data Saved: " + msg );
       }
     });
     }
     $(document).ready( envoieXML() );

    dans firebug le POST que j'envoi dans le fichier XML les modification ne marche pas donc je sais pas du tout comment faire et ou ets le problème :
    comment modifier la valeur d'un noeud ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).find('endPM').nodeValue=PMFinDimanche;
    OU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).find('startAM').text(AMdebutDimanche);

    ou le probleme vient peut etre de ma variable globale ?

    J'ai besoin d'aide svp . merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/10/2010, 17h47
  2. inserer une ligne dans une feuille liee a une autre par une macro
    Par EF1453 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/12/2009, 13h19
  3. Inserer le contenu d'une listbox dans une feuille
    Par PascGuil dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 09/08/2007, 16h13
  4. inserer du javascript dans une page XML
    Par rottenberg dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/07/2007, 20h38
  5. [VB6] [Excel] Insérer une image dans une feuille
    Par mathias dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 09/10/2002, 07h44

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