1

我正在使用 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']);

如何从人员对象的生成结果中调用任何键或值???

有人有帮助...

这就是我调用时生成数组的方式

 print_arr($person);


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

)
4

1 回答 1

2

哦,不好意思打扰大家了,我已经找到问题了...我不知道我今天怎么了,无论如何...

总有一天,有些人可能需要它确切的答案,所以这里是......

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

数组[0][ID]...表示

这应该这样称呼..

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

这就对了。

于 2013-09-10T14:35:51.017 回答