Bonjour à tous,
j'ai un probleme dans l'affichage sous forme xml et json. voici un exemple d'un affichage xml:
Code : 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
 
<response>
<application>
<application id="1">
<name>
<![CDATA[ ap1 ]]>
</name>
<icon>
<![CDATA[
C:/wamp/www/betaappli/web/bundles/betappliapplication/uploads/applicationsIcons/1.jpg
]]>
</icon>
</application>
<build id="1">
<name>
<![CDATA[ 1.0.1 ]]>
</name>
<upload>
<![CDATA[
C:/wamp/www/betaappli/web/bundles/betappliapplication/uploads/applications/android/1/1.apk
]]>
</upload>
<uploaddate>
<year>2012</year>
<month>4</month>
<day>30</day>
<hour>10</hour>
<minute>16</minute>
<second>9</second>
</uploaddate>
</build>
</application>
<application>
<application id="1">
<name>
<![CDATA[ ap1 ]]>
</name>
<icon>
<![CDATA[
C:/wamp/www/betaappli/web/bundles/betappliapplication/uploads/applicationsIcons/1.jpg
]]>
</icon>
</application>
<build id="2">
<name>
<![CDATA[ 6.3.9 ]]>
</name>
<upload>
<![CDATA[
C:/wamp/www/betaappli/web/bundles/betappliapplication/uploads/applications/android/1/2.apk
]]>
</upload>
<uploaddate>
<year>2012</year>
<month>4</month>
<day>30</day>
<hour>10</hour>
<minute>16</minute>
<second>37</second>
</uploaddate>
</build>
</application>
<application>
<application id="3">
<name>
<![CDATA[ ap3 ]]>
</name>
<icon>
<![CDATA[
C:/wamp/www/betaappli/web/bundles/betappliapplication/uploads/applicationsIcons/3.jpg
]]>
</icon>
</application>
<build id="4">
<name>
<![CDATA[ 9.8.4 ]]>
</name>
<upload>
<![CDATA[
C:/wamp/www/betaappli/web/bundles/betappliapplication/uploads/applications/android/3/4.apk
]]>
</upload>
<uploaddate>
<year>2012</year>
<month>4</month>
<day>30</day>
<hour>10</hour>
<minute>19</minute>
<second>10</second>
</uploaddate>
</build>
</application>
</response>
mon souci est d'avoir un affichage telque:
Code : 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
17
18
19
20
21
22
 
<applications>
<application id="1">
<build id="1">
 
</build>
<build id="2">
 
</build>
</application>
 
<application id="2">
 
<build id="1">
......
</build>
 
<build id="2">
....
</build>
</application>
</applications>
cad associé a chaque balise application id=" " par exemples application id="1" ses builds et non avoir des duplications de cette balise ayant chaque fois un build seulement.
mon code et le suivant:
Code : 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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
 
<?php
if($user)
  {   foreach($user->getTeams() as $teams)
     {     
       foreach($teams->getBuilds() as $builds)
        {     
		$applications = $em->getRepository('BetappliApplicationBundle:Application')->findByPlatform($platform);
 
				    	if(!$applications) {
							$xml = $serializer->serialize(array('error' => $error), 'xml');
							return new Response($xml);
										   }
 
						foreach ($applications as $application) 
						{  
			if($application->getId()==$builds->getApplication()->getId())
			 { $val=1;
							foreach ($application->getBuilds() as $build) 
							{  
							     if($build->getId()==$builds->getId())
								 {  
 
								  $Date=$build->getUploadDate();
									$dt= new DateTimeToArrayTransformer();
									$d=$dt->transform($Date);
									$id=$build->getId();
									$dir =$build->getUploadRootDir();
									if($platform=='Android'){
									    $fileName=$builds->id.'.apk';
															}
									else
											{
											 $fileName=$builds->id.'.ipa';
											} 
 
 
									$xml_app[$i]=array('application'=>array('@id'=>$application->getId(),'name'=>$application->getapplicationName(),
									'icon'=>$application->getAbsolutePath_icon()));
									$xml_build[$i]=array('build'=>(array('@id'=>$build->getId(),'name'=>$build->getbuildName(),'upload' => $build->getUploadRootDir_build($fileName),
									'uploaddate' => $d)));  
									$xml[$i]=array_merge($xml_app[$i],$xml_build[$i]);
								 $i++;
								}//fin if($build->getId()==$build->getId())
 
							}//fin foreach ($application->getBuilds() as $build) 
 
			}// fin if($application->getId()==$builds->getApplication()->getId())
 
						}// fin foreach ($applications as $application) 
 
 
		//	}//fin foreach($builds->getApplication() as $applications)
 
	}//fin foreach($builds as $builds)
 
 }//fin foreach($teams as $teams)
 
 
			if($val==1)
			{
 
			$xml = array_map('unserialize', array_unique(array_map('serialize', $xml)));
 
			$xml = $serializer->serialize(array('application'=>$xml), 'xml');
			//$xml = $serializer->serialize($xml, 'xml');
			return new Response($xml);
			}
			else
			{
			return new Response();
			}
 }//fin if($user)
?>
Est ce que vous avez une idée? Merci