dplase3140 2013-11-14 19:06
浏览 46
已采纳

在PHP中读取XML短符号

My xml looks like this

<?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>

I am getting it via a web source through a php script

  1. I want to read each
  2. I want to extract value of BARCODE
  3. I want to extract value of OH

what I have tried is

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

and I get error

Notice: Trying to get property of non-object in...

can somebody help me troubleshoot this and help me solve my issue? thanks a million

  • 写回答

1条回答 默认 最新

  • douhe4336 2013-11-16 00:11
    关注

    You are almost there.

    $xml represents <DATAPACKET>, so don't repeat it, but:

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

    see it in action: http://3v4l.org/4gWAl

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)