php – 访问SimpleXMLElement对象的某些属性

当我print_r()变量$xmlObject引用的Simple XMLElement对象时,我看到以下结构:
SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [uri] => /example
        )

    [result] => SimpleXMLElement Object
        (
            [message] => Record(s) added successfully
            [recorddetail] => Array
                (
                    [0] => SimpleXMLElement Object
                    ...
                )
        )
)

注意$xmlObject-> result->消息属性看起来好像只是一个字符串.但是,如果我执行print_r($xmlObject-> result-> message),我会得到以下内容

SimpleXMLElement Object
(
    [0] => Record(s) added successfully
)

所以在这一点上我很困惑.为什么$xmlObject-> result->消息在这种情况下被识别为SimpleXMLElement对象的实例,当打印完整的$xmlObject的结果不建议这样做?

我如何实际访问此值?我已经尝试了$xmlObject-> result-> message [0],但它只打印出相同的东西(即我发布的最后一个代码片段).

在SimpleXMLElement上使用print_r或var_dump时获得的表示与它在内部的结构方式几乎没有关系.例如,没有属性@attributes你可以用$element [‘@ attributes’] [‘uri’]访问.你只需要$element [‘uri’]

这就是它的方式. SimpleXmlElement对象的行为不同.在使用SimpleXml之前,请确保阅读PHP手册中的示例:

> http://php.net/manual/en/simplexml.examples-basic.php

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

> http://lxr.php.net/opengrok/xref/PHP_TRUNK/ext/simplexml/simplexml.c

要打印$xmlObject-> result->消息,您只需回显$xmlObject-> result->消息.这将自动将SimpleXmlElement自动转换为字符串.

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...