【发布时间】:2020-08-28 18:57:42
【问题描述】:
显然我错过了一些简单的东西。
我有以下使用 simplexml_load_string 解析的 xml 字符串:
$xmlString = '<root><Title>Heading Text</Title><Image><img src="https://image.com?id=123" alt="alt text" /></Image></root>';
$xml = simplexml_load_string($xmlString);
但是,我无法访问 Image 中的 img 标签。
我想我会使用$xml->Image[0]->img 来获取元素和
$xml->Image[0]->img['src'] 获取图片的网址。但我不断收到错误:
试图获取非对象的属性“img”
$xml->Image[0] 测试为 SimpleXMLElement 类型,当我 print_r() 我得到:
SimpleXMLElement Object (
[img] => SimpleXMLElement Object (
[@attributes] => Array (
[src] => https://image.com?id=123
[alt] => alt text
)
)
)
就像我说的,我知道我遗漏了一些非常明显的东西,因此我们将不胜感激。
【问题讨论】:
-
echo $xml->Image->img['src']; -
@NigelRen 应该和
$xml->Image[0]->img['src']一样吧? -
@IMSoP,不确定实际问题是什么,因为他们报告收到错误
Trying to get property 'img' of non-object。 -
@IMSoP,但这不也是您回答的基础吗?
-
@NigelRen 我同意这个问题不清楚,但你的评论更不清楚。您是说“删除 [0] 将解决您的问题”(错误)“echo 将解决您的问题”(有点正确),还是只是“尝试使用 echo 进行调试”(如果您真的说过会很有帮助)?