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

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

报告相同问题?

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改