访问简单的xml对象属性

时间:2014-09-05 05:09:06

标签: php arrays xml

我有一个非常奇怪的问题,我有一个像这样的xml文件结构:

<hooks>
    <hook module="socialsharing" hook="displayHeader" position="1"/>
    <hook module="socialsharing" hook="displayRightColumnProduct" position="1"/>
    <hook module="socialsharing" hook="actionObjectProductUpdateAfter" position="1"/>
    <hook module="socialsharing" hook="actionObjectProductDeleteAfter" position="1"/>
    <hook module="socialsharing" hook="displayCompareExtraInformation" position="1"/>
    <hook module="blockbanner" hook="displayHeader" position="2"/>
    <hook module="blockbanner" hook="displayBanner" position="1"/>
    <hook module="blockbanner" hook="actionObjectLanguageAddAfter" position="1"/>
    <hook module="blockbestsellers" hook="displayLeftColumn" position="1" exceptions="category"/>
    <hook module="blockbestsellers" hook="displayHeader" position="3"/>
    <hook module="blockbestsellers" hook="actionProductAdd" position="1"/>
    <hook module="blockbestsellers" hook="actionProductUpdate" position="1"/>
</hooks>

这是我正在使用的代码片段:

if($xmlHooks=simplexml_load_file(_PS_ROOT_DIR_.'/assests/hooks.xml'))
        {


            foreach ($xmlHooks as $xmlHook)
            {
                die(print_r($xmlHook->attributes()->module));

            }   

        }

但无论我如何访问它,它总是会输出它:

SimpleXMLElement Object
(
    [0] => socialsharing
)

只是想在数组或对象中自由地进行社交共享,以便我可以进一步使用这个词。

谢谢!

1 个答案:

答案 0 :(得分:0)

这是print_r()将显示的内容,您可以使用:

echo $xmlHook->attributes()->module

或者如果您希望分配它,请在其上投射字符串(string)

$var = (string) $xmlHook->attributes()->module;