问题描述
我正在处理一个相当简单的 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 (将#修改为@)