can';解析xml-php时的t访问值

can';解析xml-php时的t访问值,php,xml,laravel-5,Php,Xml,Laravel 5,我试图解析url返回的xml响应。我可以成功地查看响应,但当我试图从xml中获取特定值时,却一无所获。这是我的PHP代码 $responseMessage = file_get_contents($myurl); $xml = simplexml_load_string($responseMessage, 'SimpleXMLElement', LIBXML_NOCDATA); print_r($xml) 下面是实际的xml响应 <PPResponse Result="000" Ke

我试图解析url返回的xml响应。我可以成功地查看响应,但当我试图从xml中获取特定值时,却一无所获。这是我的PHP代码

$responseMessage = file_get_contents($myurl);
$xml   = simplexml_load_string($responseMessage, 'SimpleXMLElement', LIBXML_NOCDATA);
print_r($xml)
下面是实际的xml响应

<PPResponse Result="000" Key="99fd1c21-b07d-41f5-bbf8-1917f53c3152">

    <ResultMessage>
        Operation is succesfully completed
    </ResultMessage>

    <UtilityInfo>
            <UtilityCode>78</UtilityCode>
    </UtilityInfo>


        <BillInfo>  
            <Bill>
                <BillNumber>99fd1c21-b07d-41f5-bbf8-1917f53c3152</BillNumber>
                <DueDate>2015-08-06T11:23:49</DueDate>
                <Amount>0</Amount>
                <ReserveInfo>Some info</ReserveInfo>

                <BillParam>
                    <mask>3</mask>
                    <commission type="0" val="0.00" op="-" paysource="1" />
                </BillParam>

                <RefStan>7676422901773</RefStan>
            </Bill>

        </BillInfo>

</PPResponse>

操作已成功完成
78
99fd1c21-b07d-41f5-bbf8-1917f53c3152
2015-08-06T11:23:49
0
一些信息
3.
7676422901773
现在我只想将BillNumber值和RefStan值保存到某个变量中,以便以后使用。 我怎样才能做到

试试看

$str = <<<XML
<PPResponse Result="000" Key="99fd1c21-b07d-41f5-bbf8-1917f53c3152">

    <ResultMessage>
        Operation is succesfully completed
    </ResultMessage>

    <UtilityInfo>
            <UtilityCode>78</UtilityCode>
    </UtilityInfo>


        <BillInfo>  
            <Bill>
                <BillNumber>99fd1c21-b07d-41f5-bbf8-1917f53c3152</BillNumber>
                <DueDate>2015-08-06T11:23:49</DueDate>
                <Amount>0</Amount>
                <ReserveInfo>Some info</ReserveInfo>

                <BillParam>
                    <mask>3</mask>
                    <commission type="0" val="0.00" op="-" paysource="1" />
                </BillParam>

                <RefStan>7676422901773</RefStan>
            </Bill>

        </BillInfo>

</PPResponse>
XML;

$xml = new SimpleXMLElement($str);
echo $xml->ResultMessage;
echo $xml->BillInfo->Bill->ReserveInfo;
$str=Bill->ReserveInfo;

注意请将
$str
替换为
$responseMessage
您想从
佣金
属性获取属性值吗?试着这样做:

$value = (string)$xml->BillInfo->Bill->BillParam->commission->attributes()->val;

上面写着“尝试获取非对象的属性”,我用你们发布的确切数据检查了这段代码,它正在工作。因此,您应该在一些具有不同结构的数据上测试它。该(字符串)指的是什么?它只是将SimpleXMLElement持有属性值转换为string.worked。万分感谢:)