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

前端之家收集整理的这篇文章主要介绍了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自动转换为字符串.

猜你在找的PHP相关文章