Vì một lý do nào đó, iTunes đã quyết định sử dụng định dạng XML không chuẩn với các tệp của họ ... vì vậy tôi đang gặp sự cố khi đọc nó với SimpleXMLElement ...Cách đọc tệp tin iTunes XML trong PHP
iTunes XML sample :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Major Version</key><integer>1</integer>
<key>Minor Version</key><integer>1</integer>
<key>Application Version</key><string>10.1.1</string>
<key>Features</key><integer>5</integer>
<key>Show Content Ratings</key><true/>
<key>Music Folder</key><string>file://localhost/D:/iTunes/Bob%20Russell%20Sermons/iTunes%20Media/</string>
<key>Library Persistent ID</key><string>B8EB1073DB45BBA1</string>
<key>Tracks</key>
<dict>
<key>290</key>
<dict>
<key>Track ID</key><integer>290</integer>
<key>Name</key><string>01-03 Good News</string>
<key>Artist</key><string>Bob Russell</string>
<key>Album</key><string>Not in Series</string>
<key>Grouping</key><string>Gospel, Decision Day, Salvation, Sin, Commandments, Mercy, Grace, Jesus Christ, Crucifixion, Resurrection, Justice, Hope</string>
<key>Genre</key><string>Speech</string>
<key>Kind</key><string>MPEG audio file</string>
<key>Size</key><integer>18140686</integer>
<key>Total Time</key><integer>1774132</integer>
<key>Year</key><integer>1999</integer>
<key>Date Modified</key><date>2010-09-09T17:41:58Z</date>
<key>Date Added</key><date>2011-01-18T19:31:43Z</date>
<key>Bit Rate</key><integer>80</integer>
<key>Sample Rate</key><integer>44100</integer>
<key>Comments</key><string>John 3:16-21; Light has come into the world, but men loved darkness; Romans 1:20; gather you as a mother hen gather chicks;1 Corinthians 15:19</string>
<key>Artwork Count</key><integer>1</integer>
<key>Persistent ID</key><string>7B3B348BF9BB95CE</string>
<key>Track Type</key><string>File</string>
<key>Location</key><string>file://localhost/D:/iTunes/Bob%20Russell%20Sermons/Sermons/1999/01-03%20Good%20News.mp3</string>
<key>File Folder Count</key><integer>3</integer>
<key>Library Folder Count</key><integer>1</integer>
</dict>
Output qua SimpleXML:
SimpleXMLElement Object
(
[key] => Array
(
[0] => Track ID
[1] => Name
[2] => Artist
[3] => Album
[4] => Genre
[5] => Kind
[6] => Size
[7] => Total Time
[8] => Year
[9] => Date Modified
[10] => Date Added
[11] => Bit Rate
[12] => Sample Rate
[13] => Comments
[14] => Artwork Count
[15] => Persistent ID
[16] => Track Type
[17] => Location
[18] => File Folder Count
[19] => Library Folder Count
)
[integer] => Array
(
[0] => 332
[1] => 6419273
[2] => 1415262
[3] => 1991
[4] => 32
[5] => 22050
[6] => 1
[7] => 3
[8] => 1
)
[string] => Array
(
[0] => 07-07 Thank God for America
[1] => Bob Russell
[2] => No Series
[3] => Speech
[4] => MPEG audio file
[5] => Isaiah 40:13-26
[6] => 94BD9A32817C24F1
[7] => File
[8] => file://localhost/D:/iTunes/Bob%20Russell%20Sermons/Sermons/1999/07-07%20Thank%20God%20for%20America.mp3
)
[date] => Array
(
[0] => 2010-05-28T03:27:34Z
[1] => 2011-01-18T19:31:47Z
)
)
tôi đang chạy vào các vấn đề vì các phím mảng không phù hợp nếu thông tin bị thiếu. Trên một bài phát biểu nó có thể có 8 giá trị số nguyên, trên một số khác nó có thể có 5 .... Cách tốt hơn để tôi đọc dữ liệu này là gì?
này có thể giúp: http://developer.apple.com/internet/opensource/php.html – drudge
@jnpcl - vấn đề với nó là nó không nói làm thế nào để có được nó vào mảng ... – Webnet
Tác giả của bài viết đó cung cấp một liên kết đến nguồn PHP của mình trong đoạn đầu tiên của phần "Phân tích tệp XML" .. – drudge