2012-04-02 5 views
0

XML形式のレコードがあります。私は10種類のxmlレコードを持っています。今、PHP関数が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; 
} 

私は動的にノード名と値を取得します。

+0

PHP用XMLライブラリ(http://php.net/manual/en/book.simplexml.php) –

+1

PHPのネイティブDOMドキュメントhttp://php.net/manual/en/class。 domdocument.php –

答えて

1

私が知っている最も簡単な方法は、内蔵のSimpleXML classです。

XML DOMを多かれ少なかれ、配列のように反復処理できます。さらなる支援が必要な場合は、これまでに試したコードを投稿してください。

+0

ありがとうlandons。 – npcoda

関連する問題