在PHP中读取XML短符号

时间:2013-11-14 19:06:34

标签: php xml simplexml

我的xml看起来像这样

<?xml version="1.0" standalone="yes"?>

<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="BRAND" fieldtype="string" WIDTH="15"/>
</FIELDS>
<PARAMS/>
</METADATA>
<ROWDATA>
<ROW BRAND="180S" STYLE="LUSH-EAR-WARMER" BARCODE="10823452061" STORE_PRICE="0.00" OH="12"/>
-----<ROW WITH ATTRIBUTES REPEATS)
------
</ROWDATA>
</DATAPACKET>

我通过PHP脚本通过网络源获取它

  1. 我想读每个
  2. 我想提取BARCODE的值
  3. 我想提取OH
  4. 的值

    我试过的是

    $xml = simplexml_load_file("final.xml");
    
        foreach ($xml->DATAPACKET->ROWDATA->ROW as $c) {
    
            $attrib = $c->attributes();
            echo("<br /><br />");
            echo("Barcode" . $attrib[BARCODE] . "<br />");
            echo("OH:" . $attrib[OH] . "<br />");
            echo "<br/>";
        }
    

    我收到错误

      

    注意:尝试在...中获取非对象的属性

    有人可以帮我解决这个问题并帮我解决问题吗? 万分感谢

1 个答案:

答案 0 :(得分:3)

你快到了。

$xml代表<DATAPACKET>,所以不要重复,但是:

foreach ($xml->ROWDATA->ROW as $row) {
    echo "$row[BARCODE] <br />";
}

在行动中看到它:http://3v4l.org/4gWAl