Salut les gens
voila, j'ai un script bash qui lance un command SOAPsh (client webservice soap) et stock le retour dans une variable.
Cette variable contient une sorte de xml, un truc qui ressemble à ca:
Code :
- <SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:myselfcare" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
- <SOAP-ENV:Body>
- <ns1:ExecuteCommandResponse>
- <return xsi:type="xsd:string">
- <LICENSE_REQUESTS>
- <LICENSE> <PK>34</PK>
- <EMAIL>mail@mail.com<EMAIL>
- <DATA> ici plein de données intéressantes ....</DATA>
- </LICENSE>
- <LICENSE_REQUESTS>
- <LICENSE> <PK>35</PK>
- <EMAIL>mail@mail.fr<EMAIL>
- <DATA> ici plein de données intéressantes ....</DATA>
- </LICENSE>
- </LICENSE_REQUESTS>
- </return>
- </ns1:ExecuteCommandResponse>
- </SOAP-ENV:Body>
- </SOAP-ENV:Envelope>
|
Je suis tout jeune "basher" / "bashelier" et surtout tout pas bon en bash, et j'essai de "parser" mon xml pour recupérer le contenu des la balises <PK >, créer des fichiers qui s'appellent $PK_license.txt, et qui contiendraient ce qu'il y a dans les balises <DATA>
Je suis sûr que ca se fait en 3 lignes de codes avec 2-3 sed imbiqués ... mais j'y arrive pas.
J'ai essayé avec des while en parcourant ma chaine de caractères et j'ai perdu 2h de boulot.
Quelqu'un pourrait-il m'aider?
Meci d'avance.
Message édité par bakastef le 21-01-2009 à 19:06:46