微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-从xml文件获取数据

PHP脚本中,如何读取XML文档并将其转换为对象,并访问获取的对象以获取其数据?

<?PHP
$xml ='<?xml version="1.0" encoding="UTF-8" ?>
<data request-id="ID">
<data name="Name1"
    d1="0"
    d2="0231234"
    d3="32584">
    <data name="Name2"
        d4="231234"
        d5="2012-06-06 18:18:10.000607"
        d6="3b048653-aaa9-485b-b0dd-d16e068230e9" />
    </data>
</data>';
$xml = simplexml_load_string($xml); 
//how to get the data d1? or d4? from the obtained object
?> 

解决方法:

尝试使用此功能-

$xml ='<?xml version="1.0" encoding="UTF-8" ?>
<data request-id="ID">
<data name="Name1"
    d1="0"
    d2="0231234"
    d3="32584">
    <data name="Name2"
        d4="231234"
        d5="2012-06-06 18:18:10.000607"
        d6="3b048653-aaa9-485b-b0dd-d16e068230e9" />
    </data>
</data>';
function xmlToArray($input, $callback = null, $recurse = false) {
                    $data = ((!$recurse) && is_string($input))? simplexml_load_string($input, 'SimpleXMLElement', LIBXML_NOCDATA): $input;
                    if ($data instanceof SimpleXMLElement) $data = (array) $data;
                    if (is_array($data)) foreach ($data as &$item) $item = xmlToArray($item, $callback, true);
                    return (!is_array($data) && is_callable($callback))? call_user_func($callback, $data): $data;
            }
$xml = xmlToArray($xml);
echo $xml['data']['@attributes']['d1'];
echo '<br/>';
echo $xml['data']['data']['@attributes']['d4'];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。