Forum eedomus http://forum.eedomus.fr/ |
|
Question Xpath http://forum.eedomus.fr/viewtopic.php?f=18&t=10626 |
Page 1 sur 1 |
Auteur: | soundfab [ 31 Mars 2021 13:00 ] |
Sujet du message: | Question Xpath |
bonjour voici mon XML : <?xml version="1.0" encoding="ISO-8859-1"?><root><status>docked</status><raw>{"version":1,"reqId":"6064637066b5d","result":"ok","data": {},"error":null,"alert":null,"state":1,"action":0,"cleaning": {"category":2,"mode":2,"modifier":1,"navigationMode":1,"spotWidth":0,"spotHeight":0},"details": {"isCharging":false,"isDocked":true,"isScheduleEnabled":false,"dockHasBeenSeen":false,"charge":100},"availableCommands": {"start":true,"stop":false,"pause":false,"resume":false,"goToBase":false},"availableServices": {"findMe":"basic-1","generalInfo":"basic-1","houseCleaning":"basic-4","IECTest":"advanced-1","logCopy":"basic-1","manualCleaning":"basic-1","maps":"basic-2","preferences":"basic-2","schedule":"basic-2","softwareUpdate":"basic-1","spotCleaning":"basic-3","wifi":"basic-1"},"meta": {"modelName":"BotVacD7Connected","firmware":"4.5.3-189"}}</raw></root> Je voudrais juste récupérer dans Xpath la valeur du paramètre error , cela est-il possible ? Merci à tous pour votre aide . Fab |
Auteur: | opa95 [ 31 Mars 2021 13:50 ] |
Sujet du message: | Re: Question Xpath |
Avec un script, oui sans problème Il faut récupérer le contenu du champ <raw> qui est en json et le traiter comme tel. Directement je ne sais pas comment : peut-être en créant un capteur virtuel qui va lire le contenu de raw : xpath ->//raw puis en relisant la valeur de ce capteur et en disant que c'est du json |
Auteur: | merguez07 [ 31 Mars 2021 14:05 ] |
Sujet du message: | Re: Question Xpath |
bonjour, oui...avec un xpath à rallonge substring(substring-after(substring(substring-before(/root/raw,'alert'),0,string-length(substring-before(/root/raw,'alert'))-2),'error'),3) |
Auteur: | opa95 [ 31 Mars 2021 14:14 ] |
Sujet du message: | Re: Question Xpath |
C'est quand même plus sympa quand l'appli renvoie un vrai XML ou un vrai json |
Auteur: | KikiFUNstyle [ 31 Mars 2021 16:22 ] |
Sujet du message: | Re: Question Xpath |
![]() ![]() |
Auteur: | opa95 [ 31 Mars 2021 16:54 ] |
Sujet du message: | Re: Question Xpath |
Il me semble qu'il faut plutôt mettre substring(substring-after(substring(substring-before(/root/raw,'alert'),0,string-length(substring-before(/root/raw,'alert'))-1),'error'),3) avec -1 au lieu de -2, sinon tu obtiens "nul" au lieu de "null" |
Auteur: | soundfab [ 31 Mars 2021 17:26 ] |
Sujet du message: | Re: Question Xpath |
trop de talents les gars !! merci !! j'aurai préférer aussi un vrai XML mais l'appli pour aspirateur robot Neato ne le fait pas . mais c 'est deja cool d'en avoir developé une . On fait avec ![]() Encore Merci ! |
Auteur: | opa95 [ 31 Mars 2021 17:36 ] |
Sujet du message: | Re: Question Xpath |
Sinon, on peut modifier le php correspondant à l'aspirateur, mais je ne peux pas y accéder car je n'ai pas de compte chez neato |
Auteur: | merguez07 [ 31 Mars 2021 18:59 ] |
Sujet du message: | Re: Question Xpath |
effectivement, petite erreur que tu as su corriger ![]() |
Auteur: | opa95 [ 02 Avr 2021 09:13 ] |
Sujet du message: | Re: Question Xpath |
Bonjour
Sinon tu peux modifier le script "neato.php en remplaçant les lignes 194 à 199 par echo ('<?xml version="1.0" encoding="ISO-8859-1"?>'); echo ('<root>'); echo ('<status>'.$'status'.'</status>'); echo ('<raw>'.$robotState['status'].'</raw>'); $xml=(jsonToXML($json)); $xml=substr($xml,strpos($xml,'<root>')+6);//longueur de <root>=6 echo ($xml); sur mon pc ça marche sur l'eedomus aussi, mais je n'ai pu tester que le bout de programme ci-dessus car je n'ai pas de code neato. Tu a accès ensuite à n'importe quelle valeur, par exemple avec dans xpath //firmware tu obtiens bien "4.5.3-189" |
Auteur: | opa95 [ 02 Avr 2021 09:18 ] |
Sujet du message: | Re: Question Xpath |
envoi trop rapide echo ('<?xml version="1.0" encoding="ISO-8859-1"?>'); echo ('<root>'); echo ('<status>'.$'status'.'</status>'); $xml=(jsonToXML($json)); $xml=substr($xml,strpos($xml,'<root>')+6);//longueur de <root>=6 echo ($xml); Je n'ai pas laissé la ligne "raw", mais ça marche aussi si tu la laisses (j'ai testé). |
Auteur: | soundfab [ 02 Avr 2021 13:57 ] |
Sujet du message: | Re: Question Xpath |
Merci pour ton aide !! top ! mais quand je veux sauvegarde , j ai une petite erreur . Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_VARIABLE or '$' in neato.php on line 196 |
Auteur: | opa95 [ 02 Avr 2021 14:06 ] |
Sujet du message: | Re: Question Xpath |
Envoie-moi la copie des lignes 194 à 198 une fois que tu as fait l'inclusion pour que je voie bien la ligne de l'erreur (196) et les précédentes. |
Page 1 sur 1 | Le fuseau horaire est UTC+1 heure |
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/ |