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