通过Object / Method访问simpleXML中的mysql字段

时间:2013-09-10 14:17:37

标签: php xml arrays simplexml

我正在使用simpleXml生成XML文件...我有以下代码。

require_once('inc.php');

    $query = $glb_connection->prepare('select * from table order by ID');
    $query->execute();
    $tree = $query->fetchAll();

    $doc = $xml->init();

    foreach($tree as $tr){
        $xml_events = $doc->addChild('entr');
        $xml_events->addAttribute('ID', $tr['ID']);
        $xml_events->addAttribute('cmp', $tr['cmp']);

       // add another child
        $xml_supervisor = $xml_events->addChild('personDetail');

        // instatiate class
        $pro = new profile();

        // passing getDetail method 
        $person = $pro->getDetail($tr['ID']);

        // it prints all the detail of the ID as expected (using it to check if return true)
        print_arr($person);

        $xml_supervisor->addAttribute('firstname', $person->lastname);
        $xml_supervisor->addAttribute('familyname', $person['lastname']);
    }   

    $file = 'example.xml';
    $xml->saveXML($doc,$file);   

从上面的代码中,问题在这里......我尝试从结果对象中调用字段名称,但是我试过的方式都不起作用...

        $xml_supervisor->addAttribute('firstname', $person->lastname);
        $xml_supervisor->addAttribute('familyname', $person['lastname']);

如何从person Object ???

的生成结果中调用任何键或值 有人帮忙......

这是我调用

时生成的数组的方式
 print_arr($person);


Array
(
    [0] => Array
        (
            [ID] => 10
            [lastname] => Sara
        )

)

1 个答案:

答案 0 :(得分:2)

哦,很抱歉打扰你的每一个人,我发现了问题......我今天不知道我有什么问题,无论如何......

有些人可能会在某天需要确切的答案,所以这就是....

数组是Associative-array,如果我们需要调用ID,它应该是这样的..

阵列[0] [ID] ...装置

这应该像这样调用..

 $xml_supervisor->addAttribute('familyname', $person[0]['lastname']);

就是这样。