Php 访问SimpleXMLElement对象的某些属性

Php 访问SimpleXMLElement对象的某些属性,php,xml,simplexml,Php,Xml,Simplexml,当我打印变量$xmlObject引用的SimpleXMLElement对象时,我看到以下结构: SimpleXMLElement Object ( [@attributes] => Array ( [uri] => /example ) [result] => SimpleXMLElement Object ( [message] => Record(s) a

当我打印变量
$xmlObject
引用的SimpleXMLElement对象时,我看到以下结构:

SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [uri] => /example
        )

    [result] => SimpleXMLElement Object
        (
            [message] => Record(s) added successfully
            [recorddetail] => Array
                (
                    [0] => SimpleXMLElement Object
                    ...
                )
        )
)
请注意
$xmlObject->result->message
属性看起来就像一个字符串。但是,如果我打印($xmlObject->result->message),我会得到以下结果:

SimpleXMLElement Object
(
    [0] => Record(s) added successfully
)
所以在这一点上我很困惑。在这种情况下,打印完整的
$xmlObject->result->message
的结果并不表明这一点,为什么将
$xmlObject->result->message
标识为
simplexmlement对象的实例


我实际上如何访问这个值?我尝试了
$xmlObject->result->message[0]
,但它只是打印出相同的内容(即我发布的最后一个代码片段)。

simplexmlement
上使用
print\r
var\u dump
时得到的表示与它的内部结构关系不大。例如,您也不能使用
$element['@attributes']['uri']
访问任何属性
@attributes
。只需执行
$element['uri']

事情就是这样<代码>SimpleXmlElement
对象的行为不同。在使用SimpleXml之前,请确保阅读PHP手册中的示例:

要详细了解它的实现,您必须查看源代码:


要打印
echo$xmlObject->result->message
,只需执行
echo$xmlObject->result->message
。这将自动将
simplexmlement
转换为字符串。

+1刚刚输入了一个类似的答案。值得指出的是,如果要将元素的字符串值赋给变量,则需要将其显式转换为字符串。例如
$message=(字符串)$xmlObject->result->message