| Forum eedomus http://forum.eedomus.fr/ |
|
| syntaxe pour récupérer le contenu xml en xpath http://forum.eedomus.fr/viewtopic.php?f=18&t=10954 |
Page 1 sur 1 |
| Auteur: | jluc2808 [ 04 Oct 2021 10:07 ] |
| Sujet du message: | syntaxe pour récupérer le contenu xml en xpath |
bonjour , j'ai besoin d'un coup de main pour avoir la syntaxe pour récupérer en xpath le conte d'un xml, je galère avec cela depuis quelque temps et avec les documentations je n'ai pas trouvé le xml :
et xpath doit récupérer la donnée : value pour le type "Production" j'ai tenté : //root/energyDetails/meters/meters[type='Production']/values/meters/value le retour est : Erreur valeur lue vide (j'ai tenté plein d'autres syntaxes, mais visiblement ce ne sont pas les bonnes) merci à une grande âme de m'aider sur le coup. |
|
| Auteur: | merguez07 [ 04 Oct 2021 10:45 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
Salut Jluc2808 utilise le site xmltoolbox la réponse est /root/energyDetails/meters/meters[1]/values/meters/value/ |
|
| Auteur: | jluc2808 [ 04 Oct 2021 11:22 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
@merguez7 merci pour ce tools et la syntaxe cependant je ne peux pas utiliser cela "meters[1]" l'ordre de retour des "type" dans l'array meters est de temps en temps différent, ce qui m'oblige à tester type='Production' et pas meters[1] qui n'est pas toujours le bon y a t il une solution ? |
|
| Auteur: | merguez07 [ 04 Oct 2021 13:15 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
effectivement, j'aurais du tester car je faisais une confiance aveugle à xmltoolbox Du coup la question initiale contenait la bonne réponse |
|
| Auteur: | jluc2808 [ 04 Oct 2021 13:38 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
yep, my fault, j'avais laissé dans mon script php, un echo $url , qui venait perturber le retour de $response (jsontoxml) dans la partie xml test du xpath effectivement si je vire la scorrie, ma syntaxe fonctionne parfaitement. boudiou ( merci bien |
|
| Auteur: | opa95 [ 04 Oct 2021 14:13 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
Sinon, si la production reste toujours en tête //value marche très bien et renvoie 503 (testé sur la box) |
|
| Auteur: | jluc2808 [ 04 Oct 2021 14:21 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
malheureusement et c'était bien le problème, l'ordre des "type" change en fonction de je ne sais pas quoi , mais ne reste pas dans le même ordre. c'est la raison pour laquelle je dois qualifier le retour xpath à chaque fois. |
|
| Auteur: | opa95 [ 04 Oct 2021 14:27 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
Si tu veux garder une simplicité d'écriture et la souplesse proposée par Thrymartin tu peux aussi utiliser //meters[type='Production']//value ou //meters[type='SelfConsumption']//value et ça fonctionne bien |
|
| Auteur: | jluc2808 [ 04 Oct 2021 14:45 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
ah yes , ça ca me va bien merci question connexe: j'ai 5 équipements qui sont liés (attachés au même) dans chacun d'eux je suis obligé de mettre un lien url (sinon je ne peux pas sauver) comme c'est le même pour tous, est-ce que ça va s’exécuter 5 fois ou 1 seule (toutes les 15 minutes) ou comment je peux mettre qu'un seul avec des xpath différents ? |
|
| Auteur: | opa95 [ 04 Oct 2021 15:07 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
Bonjour jluc, ça dépend du php que tu appelles, s'il est astucieux il va garder en mémoire le résultat de ta première demande et l'heure de la demande. A l'appel suivant, si la première demande a moins de 15 minutes il va te renvoyer le résultat de la première demande sans appeler le serveur qui te renvoie les données, sinon il va réenvoyer une demande au serveur et la mémoriser avec l'heure de la nouvelle demande; il n'y aura qu'une demande toutes les 15 minutes. Si le php ne fait pas cela, il y aura une demande au serveur à chaque fois (donc 5 demandes). Pour aller plus loin, il me faut le php et la manière dont tu fais tes appels. |
|
| Auteur: | jluc2808 [ 04 Oct 2021 15:25 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
@opa95 merci de ce retour, je comprends que c'est directement dans le script PHP que va se jouer le cache, je pensais (naïvement) que le fait de lier des équipements allait permettre de n'envoyer qu'une seule requête (URL). ce que je comprends c'est que chaque équipement envoi la requête attachée et que le script doit se débrouiller avec. je vais reprendre mon php pour y mettre la fonction cache et le publie dès que c'est fait pour correction et avis. |
|
| Auteur: | jluc2808 [ 04 Oct 2021 16:03 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
mon php revu avec le cache:
|
|
| Auteur: | jluc2808 [ 07 Oct 2021 15:26 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
bonjour, puisque je suis dans les syntaxes y a t il un moyen dans xpath de récupérer la dernière instance d'une array et pas la 1ère, sachant que je ne sais pas combien il va y en avoir. exemple : dans ce xml
je souhaite prendre la dernière valeur de value (celle à 13:00:00) et pas la première comme c'est le cas avec la syntaxe : //meters[type='Purchased']/values/meters/value comme je l'ai dit je ne sais si je vais avoir 1 seule instance de value ou 2 ou même 3. un truc du style //meters[type='Purchased']/values/meters/value[last] si je ne peux pas il va falloir que je décortique ça dans le php, mais pour plein de raison, je ne souhaitais pas le faire, la 1ère était que je souhaitais garder les valeurs de retour jsontoxml intouchées pour pouvoir les exploiter de plusieurs manières avec les équipements associés. merci |
|
| Auteur: | opa95 [ 07 Oct 2021 16:25 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
Bonjour jluc Essaie plutôt cela: //meters[type='Purchased']/values/meters[last()]/value |
|
| Auteur: | jluc2808 [ 07 Oct 2021 19:01 ] |
| Sujet du message: | Re: syntaxe pour récupérer le contenu xml en xpath |
génial ça fonctionne au poil merci bien |
|
| Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
|
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/ |
|