그래서이 XML을 통해 내가 방황하고 있으므로 잘 처리 할 수 있습니다.PHP는 XML로부터 연관 배열을 동적으로 생성합니다
$keyName => $valName
다음
는 XML 보이는 방법처럼 : 여기
<dict>
<key>Major Version</key><integer>1</integer>
<key>Minor Version</key><integer>1</integer>
<key>Application Version</key><string>7.6.1</string>
<key>Tracks</key>
<dict>
<key>0</key>
<dict>
<key>Track ID</key><integer>0</integer>
<key>Name</key><string>American Idol 2013</string>
<key>Artist</key><string>Amber Holcomb</string>
<key>Album Artist</key><string>Amber Holcomb</string>
<key>Album</key><string>Unknown Album</string>
<key>Kind</key><string>MPEG audio file</string>
<key>Size</key><integer>3645</integer>
<key>Total Time</key><integer>233000</integer>
<key>Date Modified</key><date>Thu Mar 14 12:11:12 2013</date>
<key>Date Added</key><date>Thu Apr 04 16:10:15 2013</date>
<key>Bitrate</key><integer>128</integer>
<key>Location</key><string>file://localhost/Z:%5Canthony%5CMusic%5CiTunes%5CiTunes%20Media%5CMusic%5CUnknown%20Artist%5CUnknown%20Album%5CAmber%20Holcomb%20-%20A%20Moment%20Like%20This%20-%20Studio%20Version%20-%20American%20Idol%202013.mp3</string>
<key>File Folder Count</key><integer>-1</integer>
<key>Library Folder Count</key><integer>-1</integer>
</dict>
나는 지금까지 내 코드를 가지고 무엇을 : 내가 동적으로 생성 할 것은이 방법으로 연관 배열입니다
$xml = simplexml_load_file(base_url().'uploads/xmlbackup2.xml');
$varKey = $xml->dict[0]->dict[0]->dict[0]->children();
$keyName ="";
$valName ="";
foreach($xml->dict[0]->dict[0]->dict as $dict1){
foreach($dict1->children() as $dictChild){
if($dictChild->getName() == "key"){
$keyName = $dictChild;
} else {
$valName = $dictChild;
}
}
}
두 개의 배열을 만들고 병합하려고하는 등 몇 가지 시도를 해봤지만 ... 나에게 오류가 발생합니다. 코드가 잘못 처리 된 것 같습니다.
두 번째 foreach
루프가 완료된 후에 본질적으로 데이터를 SQL에 놓는 것입니다. 그러나 나는 codeigniter에서 작동하도록 연관을 먼저 만들어야한다.
simpleXML을 사용합니까? – Svetoslav
@svetlio - 예, 반영하도록 코드를 업데이트했습니다. 감사. –
http://www.php.net/manual/en/function.simplexml-load-string.php#102277 시도해보십시오. 도움이 될 것입니다. – Svetoslav