【发布时间】:2026-01-11 10:25:02
【问题描述】:
SimpleXMLElement Object
(
[SMSMessage] => SimpleXMLElement Object
(
[Sid] => xyz
[DateUpdated] => 2013-05-02 18:43:19
[DateCreated] => 2013-05-02 18:43:19
[DateSent] => 1970-01-01 05:30:00
[AccountSid] => xx
[To] => 09011148771
[From] => xx
[Body] => Hello
[BodyIndex] => SimpleXMLElement Object
(
)
[Status] => sending
[Direction] => outbound-api
[Price] => SimpleXMLElement Object
(
)
[ApiVersion] => SimpleXMLElement Object
(
)
[Uri] => /v1/Accounts/xx/Sms/Messages/xyz
)
)
我试过了:
$xml->Sid;
但它返回SimpleXMLElement Object ( )
我也尝试了$xml->title,它也返回了相同的SimpleXMLElement Object ( )
如何从上述XMl获取Sid
【问题讨论】:
-
试试 $xml->SMSMessage->Attributes('Sid');
-
@Archie.bpgc:不,请参阅simplexml basic usage in the PHP Manual。它很好地解释了这一点,请参见示例 #1 和 #2。
-
@aleation:是的,有很多魔法。这意味着,更好地阅读基本用法示例once。然后在这里搜索关于 SO 的问题。我们在较早的答案中有一些更好的答案,而在较新的答案中则很少(并不是说它们通常不好,但通常会快速输入)。如果我认为合适,我什至会编辑旧答案并为它们添加新方法,以便让这里变得更好。
-
这篇文章可能也很有趣:SimpleXML - echo / print_r return different values - 只是因为
print_r和 SimpleXML 并不总是因为魔法而直接相互工作. -
我同意@hakre 关于阅读手册和以前的问题所说的一切,并会为我的调试功能添加我常用的插件,这些插件试图比
print_r做得更好,代表了SimpleXML:github.com/IMSoP/simplexml_debug