Bonjour à tous,

je suis débutant en XML et je dois pouvoir parser un document XML que l'on ma donné, le voici :

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
 
 
<?xml version="1.0" encoding="UTF-8" ?>
<FMPXMLRESULT xmlns="http://www.filemaker.com/fmpxmlresult">
<ERRORCODE>0</ERRORCODE>
<PRODUCT BUILD="08-11-2005" NAME="FileMaker Pro" VERSION="8.0v1"/>
<DATABASE DATEFORMAT="D/m/yyyy" LAYOUT="" NAME="RANGES" RECORDS="54" TIMEFORMAT="k:mm:ss "/>
	<METADATA>
		<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="range_id" TYPE="NUMBER"/>
		<FIELD EMPTYOK="YES" MAXREPEAT="1" NAME="Libellé gamme" TYPE="TEXT"/>
	</METADATA>
<RESULTSET FOUND="5">
	<ROW MODID="51" RECORDID="1">
		<COL>
			<DATA>1</DATA>
		</COL>
		<COL>
			<DATA>DD ICE</DATA>
		</COL>
	</ROW>
	<ROW MODID="51" RECORDID="2">
		<COL>
			<DATA>2</DATA>
		</COL>
		<COL>
			<DATA>DD AluICE</DATA>
		</COL>
	</ROW>
	<ROW MODID="51" RECORDID="3">
		<COL>
			<DATA>3</DATA>
		</COL>
		<COL>
			<DATA>DD Silverdrive</DATA>
		</COL>
	</ROW>
	<ROW MODID="52" RECORDID="4">
		<COL>
			<DATA>4</DATA>
		</COL>
		<COL>
			<DATA>DD FireRack</DATA>
		</COL>
	</ROW>
	<ROW MODID="51" RECORDID="5">
		<COL>
			<DATA>5</DATA>
		</COL>
		<COL>
			<DATA>DD Cryptodisk</DATA>
		</COL>
	</ROW>
     </RESULTSET>
</FMPXMLRESULT>
Mon fichier PHP pour le parser doit ressembler plus ou moins à ça mais je comprends pas grand chose (c'est un fichier qui traite un autre document XML que celui ou j'ai copié le code)

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
 
<?
		$xml_file = 'test.xml';
 
		if ( is_file($xml_file) ) {
 
				if ($FMPDSORESULT = simplexml_load_file($xml_file)) { 
 
  				foreach($FMPDSORESULT->product as $product) {
						$product_id 					= intval($product->id);
						$product_type 				= $product->type;
						$product_capacity			= $product->capacity;
						$product_stock 				= $product->stock;
						$product_prices				= $product->prices;
						$product_prices_array	= array();
						foreach ($product_prices->price as $price) {
							$product_prices_array[] = array(
								'cat' 		=> $price['cat'],
								'price'		=> $price
							);
						}
 
						echo "<br><br>product_id : $product_id";
						echo "<br>product_type : $product_type";
						echo "<br>product_capacity : $product_capacity";
						echo "<br>product_stock : $product_stock";
						echo "<br>product_prices : ";
						for ($i=0; $i<count($product_prices_array); $i++) { 
							echo $product_prices_array[$i]['cat'] . ":" . $product_prices_array[$i]['price'] . " "; 
						}
					}
				}
				else {
  				echo "Le fichier XML spécifié ($xml_file) semble mal formaté.";		
				}
		}
		else {
  		echo "Le fichier XML spécifié ($xml_file) n'a pas été trouvé .";		
		}
 
?>
Si vous avez une méthode plus facile libre à vous, si qq pouvait m'apporter de l'aide svp ce serait super sympa