je suis en train de modifier le script array2xml
voila ce que mon nouveau code:
Code php : 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
<?php
function is_assoc($var)
{
        return is_array($var) && array_diff_key($var,array_keys(array_keys($var)));
}
 
function array2xml($buffer) {
    $xml  = htmlspecialchars('<?xml version="1.0" encoding="utf-8"?>').'<br/>';
    $xml .= htmlspecialchars('<service version="1.0"\>').'<br/>';	
    foreach($buffer as $val) {
        $xml .= htmlspecialchars('    <document>').'<br/>';
        foreach ($val as $key => $value) {
            $xml .= htmlspecialchars('        <'.$key.'>');
			if(is_assoc($value)) {
			//echo '<br/>';
				foreach($value as $va) {
					foreach ($va as $k => $v) {
						$xml .= htmlspecialchars ('<'.$k.'>'.utf8_encode($v).'</'.$k.'>').'<br/>';
					}
				}
				$xml.=htmlspecialchars('</'.$key.'>').'<br/>';
			} else $xml.=htmlspecialchars(utf8_encode($value).'</'.$key.'>').'<br/>';
        }
		$xml .= htmlspecialchars('    </document>').'<br/>';
    }
    $xml .= htmlspecialchars('</service>').'<br/>';    
    return $xml;
}
 
// exemple d'utilisation 
$ar = array("var1" => "val1","var2" => "val2");
$arr = array(
                array("id" => "1", 
                      "pseudo" => "mq", 
                      "name" => "marc",
					  "tab" => $ar),
                array("id" => "2",
                      "pseudo" => "poppy",
                      "name" => "axel")
            );
 
$xml = array2xml($arr);
echo $xml;
?>
quand j’exécute j'ai ce qui suit:

Warning: Invalid argument supplied for foreach() in C:\Program Files\Apache Group\Apache2\htdocs\wdCalendar\wdCalendar\php\tist.php on line 17

Warning: Invalid argument supplied for foreach() in C:\Program Files\Apache Group\Apache2\htdocs\wdCalendar\wdCalendar\php\tist.php on line 17
<?xml version="1.0" encoding="utf-8"?>
<service version="1.0"\>
<document>
<id>1</id>
<pseudo>mq</pseudo>
<name>marc</name>
<tab></tab>
</document>
<document>
<id>2</id>
<pseudo>poppy</pseudo>
<name>axel</name>
</document>
</service>
ou est l'erreur?