php - 如何修复 PHP 通知:“尝试获取非对象的属性”(解析 XML)
问题描述
我在 PHP 中解析 XML 中的数据。我想显示它,但我收到了通知:“尝试获取非对象的属性”。它也不显示数据
我的 PHP 文件:
<?php
$xml = simplexml_load_file('file.xml');
for($i = 0; $i < 3; $i++)
{
$result = $xml->tittle->topic[$i]->name;
}
echo $result;
?>
我的 XML 文件:
<tittle>
<topic>
<name>PHP</name>
</topic>
<topic>
<name>JS</name>
</topic>
<topic>
<name>CSS</name>
</topic>
</tittle>
浏览器输出:
Notice: Trying to get property 'name' of non-object in C:\xampp\htdocs\index.php on line 6
Notice: Trying to get property 'name' of non-object in C:\xampp\htdocs\index.php on line 6
Notice: Trying to get property 'name' of non-object in C:\xampp\htdocs\index.php on line 6
解决方案
您可以使用以下代码修复错误,只需删除“标题”
$xml = simplexml_load_file('file.xml');
for($i = 0; $i < 3; $i++)
{
$result = $xml->topic->name;
}
echo $result;
推荐阅读
- php - 有没有办法在事先不知道值的情况下用 php 更新 mysql 表?
- airflow - Airflow:SubDagOperator 的成功基于什么?
- mysql - MySQL:选择多个子查询的结果时,“子查询返回超过 1 行”
- node.js - 如何让 CucumberJS 在步骤定义中识别我的场景大纲参数?
- python - 从结构不均匀的字符串中提取日期
- apache - MAMP Apache 服务器 - 一个子目录有效,另一个无效
- electron - Electron-mksnapshot snapshotResult.setGlobals 位置?
- angular - Angular Material:选择列表示例不起作用
- c++ - 链表 push_front 和 push_back 中的 C++ 内存泄漏
- angular - TypeError:无法读取未定义的属性-但站点可以正常工作-Angular 7