在PHP中动态读取XML文件的记录

时间:2012-04-02 09:33:04

标签: php xml

我有XML格式的记录。我有10个不同的xml记录。现在我想要php函数动态读取XML记录。

我创建了方法,但它适用于单一类型的xml。我的代码是:

function readXMLDoc($xml_file){
    $xmlDoc = new DOMDocument();
    $res = $xmlDoc->load('uploads/xml_records/'.$xml_file);

    if (!$res) {
        echo("Failed to parse XML\n");
        return false;
    }

    $events = $xmlDoc->getElementsByTagName("photoSet");
    $data= array();
    foreach($events as $key=>$event):       
         $dates = $event->getElementsByTagName("desc");
         $data[$key]['desc'] = $dates->item(0)->nodeValue;

         $venues = $event->getElementsByTagName("set");
         $data[$key]['set'] = $venues->item(0)->nodeValue;

         $names = $event->getElementsByTagName("number");
         $data[$key]['number'] = $names->item(0)->nodeValue;

         $names = $event->getElementsByTagName("thumb");
         $data[$key]['thumb'] = $names->item(0)->nodeValue;
    endforeach;  
    return $data;
} 

我想动态地获取节点名称和值。

1 个答案:

答案 0 :(得分:1)

我所知道的最简单的方法是内置SimpleXML class

您可以像数组一样迭代遍历XML DOM。如果您需要进一步的帮助,请发布您目前为止尝试过的代码。