0

我的 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 的值

我试过的是

$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/>";
    }

我得到错误

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

有人可以帮我解决这个问题并帮助我解决我的问题吗?太感谢了

4

1 回答 1

3

你快到了。

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

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

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

于 2013-11-16T00:11:36.740 回答