- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
出于某种原因,iTunes 决定对他们的文件使用非标准 XML 格式...所以我无法使用 SimpleXMLElement 读取它...
iTunes XML 示例:
<?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>
通过 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
)
)
我遇到了问题,因为如果信息缺失,数组键就会不一致。在一个演讲中它可能有 8 个整数值,在另一个演讲中它可能有 5 个......我阅读这些数据的更好方法是什么?
最佳答案
这是一个 plist XML file 。 Apple 经常使用它们。我会建议找到一个将 plist 文件解析为适当的 native 数据结构的库。 plistParser 看起来很有用。
plist解析器示例:
<?php
include("PlistParser.inc");
$parser = new plistParser();
$plist = $parser->parse(dirname(__FILE__) . "/iTunes.xml");
var_dump($plist);
?>
输出:
array(8) {
["Major Version"]=>
int(1)
["Minor Version"]=>
int(1)
["Application Version"]=>
string(5) "8.0.1"
["Features"]=>
int(5)
["Show Content Ratings"]=>
bool(true)
["Music Folder"]=>
string(60) "file://localhost/Users/testUser/Music/iTunes/iTunes%20Music/"
["Library Persistent ID"]=>
string(15) "C39203948AF3D3E"
["Tracks"]=>
array(1) {
[1]=>
array(25) {
["Track ID"]=>
int(1)
["Name"]=>
string(8) "My Track"
["Artist"]=>
string(9) "My Artist"
["Album"]=>
string(8) "My Album"
["Genre"]=>
string(8) "My Genre"
["Kind"]=>
string(15) "MPEG audio file"
["Size"]=>
int(123456)
["Total Time"]=>
int(123456)
["Track Number"]=>
int(1)
["Year"]=>
int(2008)
["Date Modified"]=>
string(20) "2008-03-03T03:33:33Z"
["Date Added"]=>
string(20) "2008-03-03T03:33:33Z"
["Bit Rate"]=>
int(128)
["Sample Rate"]=>
int(44100)
["Comments"]=>
string(20) "All Rights Reserved."
["Release Date"]=>
string(20) "2007-03-12T04:01:37Z"
["Persistent ID"]=>
string(14) "C3E339393939E3"
["Track Type"]=>
string(4) "File"
["Podcast"]=>
bool(false)
["Unplayed"]=>
bool(true)
["File Type"]=>
int(123456)
["File Creator"]=>
int(123456)
["Location"]=>
string(66) "file://localhost/Users/testUser/Music/iTunes/iTunes%20Music/my.mp3"
["File Folder Count"]=>
int(4)
["Library Folder Count"]=>
int(1)
}
}
}
关于php - 如何在 PHP 中读取 iTunes XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4809382/
作为桌面开发人员,这对我来说是新的。 如果我能弄清楚这是如何完成的,它可能与我正在做的一些研究有关,特别是如何将厚桌面应用程序迁移到 Web 实现。 我能找到更多面向形式和轻量级的图形,但重量级的 3
我发现我可以搜索这样的歌曲术语: https://itunes.apple.com/search?media=music&entity=musicTrack&attribute=songTerm&te
我最近发布了一个 iPhone 应用程序,但我没有看到任何方法可以像在 Google Play 中一样检查应用程序统计信息。 你能告诉我怎么做吗? 最佳答案 您可以从 iTunes Connect 开
我刚刚发布了一款 iPhone 应用程序并正在更新其支持网站。我使用 iTunes Link Maker 创建了如下所示的链接。有一次,它打开了 iTunes,其余时间都没有。我尝试关闭 iTunes
我们想编写一个 Windows/OS X 应用程序,将播客评级信息从 iPod 和 iTunes 发送回服务器。两个问题: 是否有关于评分数据如何存储在 iTunes 中的文档, 如果用户将 iTun
如何获取可用的 iTunes 播客的 RSS 提要 URL?我想要一个列出 iTunes 上所有播客的提要。这可能吗? 谢谢。 最佳答案 现在有几种选择: iTunes RSS Feed Genera
我已经在 Apple iTunes 上更新了新版本的 iOS 应用程序。今天早上获得批准后,我发布了版本。已经超过 5 小时了,我仍然无法在 iTunes 上看到更新版本。当我打开 URL 时它仍然显
我正在使用 iTunes Store web service search API 获取歌曲信息. 我遇到的唯一问题是艺术品的分辨率极低(只有 60x60px 或 100x100px 可用)。 art
打算使用iTunes Search API来获取与应用程序相关的信息-http://www.apple.com/itunes/affiliates/resources/documentation/it
我很喜欢使用 iTunes Store,但我很好奇它是基于什么开发的(PHP 和 MySQL、Something Custom?)。 最佳答案 WebObjects 。如今它随 XCode 一起提供,
这与这样的帖子有关:iTunes API: get 100x100 px icon of an App 但是,由于接受答案中描述的方法似乎在某些情况下却被打破了,但仍然是一致的,所以我要问是否有已知的
有没有办法以编程方式与 iTunes 交互以添加新的播放列表或智能 View ? 例如,假设我从网站下载了 10 个新的 mp3 文件,有没有办法以编程方式将这个 mp3 列表添加到名为“New Al
使用 iTunes Link Maker 时一个人会得到一个 http-Link,这非常好,因为它也适用于非 iOS 设备。 但是当我在网页上使用它时,重定向到应用程序的确切时间是什么时候? Safa
有没有办法从 3rd 方应用程序以编程方式将 mp3 添加到我的 iTunes 库? 最佳答案 iTunes 有一个文件夹,您可以在其中放置文件,以便自动将其添加到库中。 C:\Users\Your
我已经搜索了如何在文件系统更改时在 iOS5 中接收回调。我从 Apple 的网站上找到了以下示例,但它仅在删除/创建文件时通知给定的委托(delegate)。 DirectoryWatcher cl
在 Cocoa 应用程序中,我正在寻找一种从 iTunes 检索专辑插图的解决方案,而不需要 iTunes 本身在后台启动和运行。 通常也是唯一的解决方案,Scripting Bridge,以及固有的
嗨,我的应用程序有指向 iTunes 音乐专辑的链接 像这样 http://itunes.apple.com/us/album/better-than-a-hallelujah/id366013643
我有自己的 iTunes Connect 帐户和 Apple 开发者许可证。 现在我加入了现有的开发人员团队,并希望能够将他们的构建上传到 iTunes Connect。 我通过 developer.
到目前为止我已经尝试过了,但仍然很不走运,我的应用程序没有安装到某些设备上。 这是步骤。 添加了 3 台设备的 UDID(2 X iPhone 5、iPad 4)。 修改后的开发配置文件(使用 * A
我正在尝试从 iTunes 搜索 API 获取播客剧集列表。我可以调用 API 并根据搜索词取回所有播客专辑: https://itunes.apple.com/search?media=podcas
我是一名优秀的程序员,十分优秀!