je suis bloqué sur la contruction d'un flux JSON. Cela est fait par rapport à un fichier XML reçu par l'appel d'un Web Service Soap.
Celui-ci ressemble à :
Code XML : 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 <?xml version="1.0" encoding="utf-8" ?> <root> <documentListCount>36</documentListCount > <documentIndexes> <index name= "document title " value="1648801151455354.PDF" type="text"/> <index name= "document creator " value="Administrateurs" type="text"/> <index name= "document creation time " value="2022-04-01 10:19:11" type="tstamp"/> <index name= "document page count " value="1" type="text"/> <index name= "refdoc_tech" value="1105860" type="text"/> <index name= "c_prod" value="" type="text"/> <index name= "no_pol" value="" type="text"/> <index name= "no_pers" value="" type="text"/> <index name= "c_cli" value="01080198502" type="text"/> <index name= "comment" value="Infos sur entity" type="text"/> <index name= "d_trt" value="2022-04-01 11:19:10" type="tstamp"/> </documentIndexes>
et je dois ressortir un fichier du type :
j'utilise la librairie DomDocument. Je ne vois pas d'erreur et pourtant dans ma variable ListDocument (qui est un array) je n'ai rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 { "documentTitle": "1648801151455354.PDF", "documentCreator": "Administrateurs", "documentCreation time": "2022-04-01 10:19:11", "documentPage count ": "1", "refdocTech": "1105860", ...... },
Mon code est le suivant:
Si quelqu'un a une idée hihihih.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $outputFile = '\\\\S03\\retrieved\\'.$filedest.'.xml'; if(!empty($outputFile)){ $DOM = new DOMDocument(); // $DOM->load($outputFile) or die ("Impossible de charger le fichier xml.") ; $xpath = new DOMXPath($DOM); $listDocument[] = "DocumentList"; foreach($xpath->query('//index=@document title ') as $modele) { $listDocument[] = $modele->getAttribute('name'); $listDocument[] = ';'.$modele->getAttribute('value'); }
Merci à vous
Partager