如何解决已解决 - 如何在 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 举报,一经查实,本站将立刻删除。