加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 18:05:21 所属栏目:PHP教程 来源:网络整理
导读:当我print_r()变量$xmlObject引用的Simple XMLElement对象时,我看到以下结构: SimpleXMLElement Object( [@attributes] = Array ( [uri] = /example ) [result] = SimpleXMLElement Object ( [message] = Record(s) added successfully [recorddetail] = Ar
当我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自动转换为字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读