Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3030 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Générer un fichier XML a partir de données HTML

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Générer un fichier XML a partir de données HTML

n°2196457
aure013
Posté le 03-07-2013 à 21:21:34  profilanswer
 

Bonjour à tous,  
 
Je suis un peu nouveau dans la programmation mais j'avance avec mes petits moyens.
 
Je suis en train de vouloir récuperer les données émises par ma pompe à chaleur, que je voudrait compiler dans un fichier xml, que pourra lire ma box domotique.
 
La carte ethernet en question est un carte PCO Web de Carel  : Lien vers la notice
 
Sur cette on peut apperlier les différentes variables via :
http://adresse_qui_va_bien/config/ [...] |A|101|102

Code :
  1. <PCOWEB>
  2. <PCO>
  3. <DIGITAL>
  4. <VARIABLE>
  5. <INDEX>1</INDEX>
  6. <VALUE>0</VALUE>
  7. </VARIABLE><VARIABLE>
  8. <INDEX>2</INDEX><VALUE>0</VALUE></VARIABLE></DIGITAL><INTEGER><VARIABLE><INDEX>11</INDEX><VALUE>1</VALUE></VARIABLE><VARIABLE><INDEX>12</INDEX><VALUE>25</VALUE></VARIABLE></INTEGER><ANALOG><VARIABLE><INDEX>101</INDEX><VALUE>0.0</VALUE></VARIABLE><VARIABLE><INDEX>102</INDEX><VALUE>0.0</VALUE></VARIABLE></ANALOG></PCO></PCOWEB>


Je voudrais générer un XML toutes les 5 minutes pour récuperer certaines variables, pas toutes.
 
J"ai réussi a l"aide de la notice carel de générer un html qui me sort les données importantes :
 
http://adresse_qui_va_bien/http/veralite/test.html

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta content="text/html; charset=ISO-8859-15" http-equiv="content-type">
  5. <title>Pompe à chaleur</title>
  6. <script src="pw_ajax.js" type="text/javascript"></script>
  7. <script type="text/javascript">
  8. // arrays used by the javascript library, DO NOT USE OTHER NAMES!
  9. digitals = new Array;
  10. integers = new Array;
  11. analogs = new Array;
  12. var timestamp;
  13. function getVariables() {
  14. // N.B. The function getParams is defined in the file pw_ajax.js
  15. // This reads variables Digitals 1 and 2, Integers 11 and 12 and
  16. // analogues 101 and 102
  17. // and then copy them into the arrays declared here above to the
  18. // cells with the index equal to their supervisry index
  19. // e.g. analogue 101 is copied into the array called "analogs" to the index 101
  20. // The string is composed by: TYPE|START_INDEX|END_INDEX|TYPE2|START_INDEX2...
  21. // It can contain up to 5 different ranges of variables
  22. getParams('/config/xml.cgi','D|1|2|I|11|12|A|1|58');
  23. }
  24. function parseResults() {
  25. // The following instructions assign the values of the variables
  26. // in the arrays to an element of the HTML page to be visualized
  27. document.getElementById("analog1" ).innerHTML=analogs[1];
  28. document.getElementById("analog2" ).innerHTML=analogs[2];
  29. document.getElementById("analog3" ).innerHTML=analogs[3];
  30. document.getElementById("analog5" ).innerHTML=analogs[5];
  31. document.getElementById("analog9" ).innerHTML=analogs[9];
  32. document.getElementById("analog53" ).innerHTML=analogs[53];
  33. document.getElementById("analog54" ).innerHTML=analogs[54];
  34. document.getElementById("analog58" ).innerHTML=analogs[58];
  35. document.getElementById("currentTime" ).innerHTML=timestamp;
  36. // Refresh the variables every 5 seconds (the time is ms)
  37. timer=setTimeout('getVariables()',5000);
  38. }
  39. </script>
  40. </head>
  41. <body onLoad="getVariables();">
  42. <!—- The onLoad is necessary to load the variables as soon as the page loads -->
  43. Date-Heure <span id="currentTime"></span><br>
  44. <table>
  45. <tr>
  46. <td>Temp ext :</td><td><span id="analog1"></span></td>
  47. </tr>
  48. <td>Temp départ :</td><td><span id="analog5"></span></td>
  49. </tr>
  50. <td>Temp retour 1 :</td><td><span id="analog2"></span><td> / </td><td><span id="analog53"></span></td>
  51. </tr>
  52. <td>Temp retour 2 :</td><td><span id="analog9"></span><td> / </td><td><span id="analog54"></span></td>
  53. </tr>
  54. <td>Temp ECS :</td><td><span id="analog3"></span><td> / </td><td><span id="analog58"></span></td>
  55. </tr>
  56. </table>
  57. </body>
  58. </html>


 
Mais je ne sais absolument pas comment générer un fichier xml avec les valeurs qui vont bien.
 
Si une âme charitable pourrait m’aiguiller j'en serais très reconnaissant


Message édité par aure013 le 03-07-2013 à 21:23:01

---------------
Mon Feedback !! - Pentax K200D :)
mood
Publicité
Posté le 03-07-2013 à 21:21:34  profilanswer
 

n°2196472
mechkurt
Posté le 04-07-2013 à 09:22:57  profilanswer
 

Il te faut une technologie coté serveur pour écrire un fichier .xml, et pourquoi partir d'un html dérivant d'un xml plutôt qu'utiliser le xml directement ?
 
En php tu aura besoin de simplexml_load_file()
 
Tu manipules le xml pour supprimer les noeuds dont tu n'as pas besoin et tu sauvegardes dans un fichier
 
Tu trouveras plein de tutoriel très bien fait pour apprendre sur ce site :
http://www.siteduzero.com/informat [...] e-du-zcode


---------------
D3
n°2196498
aure013
Posté le 04-07-2013 à 14:58:10  profilanswer
 

En fait en Html je peux appeler ma variable par <%var(0,2,1)%> par exemple, je ne sais pas comment la lancer en php :/
 
Je vais faire un tour sur le site du Zero, merci mechkurt :jap:


Message édité par aure013 le 04-07-2013 à 14:58:51

---------------
Mon Feedback !! - Pentax K200D :)
n°2196502
mechkurt
Posté le 04-07-2013 à 15:35:16  profilanswer
 

[:ab614]  
 
Pour écrire un xml, tu auras besoin d'une technologie "coté serveur", à partir de la je penses qu'il te sera plus simple de parser et épurer directement un xml que de passer par un intermédiaire en html.
 
Bon courage !


---------------
D3
n°2204732
domotifred
Posté le 30-09-2013 à 17:38:00  profilanswer
 

Bonjour aure013,
 
Je ne sais pas si tu t'en es sorti, mais la carte IP Carel qui est sur ta gestion de PAC Dimplex est normalement capable de générer directement un fichier xml avec les valeurs que tu souhaites y faire apparaître et te la pousser en FTP Push


Message édité par domotifred le 30-09-2013 à 17:38:28
n°2204756
gilou
Modérateur
Modzilla
Posté le 30-09-2013 à 21:33:46  profilanswer
 

Bon, c'est relativement simple, en fait.
Quel format doit avoir ton XML de sortie pour ta box domotique?
 
Parce que clairement, ça passe par du cgi au niveau du serveur, et si tu fais

http://adresse_qui_va_bien/config/xml.cgi?N|A|1|58


Ça devrait te générer un XML nouveau format (donc avec le temps de la mesure) et les 58 paramètres analogiques, a filtrer et remettre en forme en fonction de ta sortie désirée.
J'essaierais même  

http://adresse_qui_va_bien/config/xml.cgi?N|A|1|3|A|5|5|A|9|9|A|53|54|A|58|58


car au vu de la spec pdf, ça pourrait coller, et ne générer que les XML pour les variables nécessaires  (si la syntaxe avec des A multiples passe)
Et il suffirait de remettre en forme le XML obtenu (par du XSLT ou autre).
 
A+,
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2205142
domotifred
Posté le 03-10-2013 à 09:49:30  profilanswer
 

Bonjour,
 
De mon côté, j'ai réussi à paramétrer la carte IP Carel da ma PAC Dimplex pour qu'elle envoie automatiquement en FTP Push un fichier XML contenant les valeurs que je surveille. C'est très simple.
Si quelqu'un est intéressé...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Générer un fichier XML a partir de données HTML

 

Sujets relatifs
texte et XML(HTML) Alignement d'image.
Excel: Aide pour imprimer à partir d'une listeAchat fichier email et solution de routage
tester existance d'un fichier[Resolu] [VBA] Impression Fichier .pdf (Hyperliens)
[HTML/CSS/Javascript] Vidéo YoutubeCtrl+ affecté à un bouton sur page HTML
Faire interpréter par jquery un contenu html mis à jourProblème de création xml en PHP avec données d'une BD
Plus de sujets relatifs à : Générer un fichier XML a partir de données HTML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR