0

PHPを使用してXmlファイルを解析しようとしていますが、コードmitを実行するとエラーが発生します:foreach()に無効な引数が指定されました

XML

<?xml version="1.0" standalone="yes"?>  
<Rows>
<Row Code="10004" Name="EDEN 46cm TROUGH  Terracotta"  />
</Rows>

PHPコード:

$xml =  simplexml_load_string(file_get_contents('XML/STKCatigories.xml'));
$i = 0;
   foreach($xml->Rows->Row as $key=>$product) {

  echo '<li>'.anchor ('/shop/listings/'.$product->Code,$product->Name).'</li>';

}

どこが間違っているのかわからなかったので、助けてください

4

2 に答える 2

1

そのはず

$xml =  simplexml_load_string(file_get_contents('XML/STKCatigories.xml'));
$prifix = '/shop/listings/' ;
foreach ( $xml as $row ) {
    $attr = $row->attributes();
    printf('<li>%s</li>', anchor($prifix . $attr->Code, $attr->Name));
}
于 2012-10-03T16:43:02.830 に答える
0

明示的な値ではなく、タグ属性にアクセスしようとしています。次のようなものを試してください:

$str = <<<XML
<?xml version="1.0" standalone="yes"?>  
<Rows>
<Row Code="10004" Name="EDEN 46cm TROUGH  Terracotta"  />
</Rows>
XML;


$xml = simplexml_load_string($str);

foreach($xml->Row->attributes() as $a => $b) {
    echo $a,'="',$b,"\"\n";
}

出力:

SimpleXMLElement Object
(
    [Row] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [Code] => 10004
                    [Name] => EDEN 46cm TROUGH  Terracotta
                )

        )

)
Code="10004" Name="EDEN 46cm TROUGH Terracotta"
于 2012-10-03T16:49:33.803 に答える