微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

已解决 - 如何在 PHP foreach 循环中从 XML 文件中获取行值?

如何解决已解决 - 如何在 PHP foreach 循环中从 XML 文件中获取行值?

我正在处理一个相当简单的 xml 文件(最初显示为表格),我需要读取每个“行”元素中的值(例如字符串“失败”、“12345”...),但我不知道如何编写正确的语法。 这是我的 xml 文件 ($ptpXml):

<?xml version="1.0" encoding="UTF-8"?>
<ResultList  name='PTP'>
<row status='fail' id='12345' ang='0.0' pr='-18.5'/>/>
<row status='pass' id='54321' ang='0.0' pr='21.3'/>/>
</ResultList>

截至目前,我的代码如下所示:

/** @var \SC\Core\SimpleXMLElement */
$ptpXml = simplexml_load_file($ptpXml,'\SC\Core\SimpleXMLElement');

foreach ($ptpXml as $idx => $item) { 
    echo $item->status . '<br>';
    echo $item->id . '<br>';
    echo $item->ang . '<br>';
    echo $item->pr . '<br>';
}

我尝试了多种选择,例如:

                $test = $item->row->status;
                $test = $item->status;
                $test = $ptpXml->status;
                $test = $ptpXml->row->status;

但他们都没有工作。有时它会将 $test 识别为 xml 对象,而不是字符串 'fail'。我做错了什么?

================================================ ================ 编辑: 经过大量测试和一些阅读,我设法解决了它!它看起来像这样: 代码

/** @var \SC\Core\SimpleXMLElement */
$ptpXml = simplexml_load_file($ptpXml,'\SC\Core\SimpleXMLElement');
...

foreach ($ptpXml as $key => $result) {
   $rows = $result->attributes();
   echo $rows->status . '<br>';
   echo $rows->ang . '<br>';
   ...
}

这样,代码就会循环遍历两行,我可以从我的 'row' 元素中自由选择我想要使用的任何属性

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。