- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试从 http://itunes.apple.com/us/rss/topsongs/limit=10/genre=2/xml 中读取 XML 提要.
我想像这样访问字段:
<im:price amount="1.29000" currency="USD">$1.29</im:price>
<im:releaseDate label="December 31, 1960">1960-12-31T16:00:00-07:00</im:releaseDate>
这是我到目前为止所做的:
var xml = "http://itunes.apple.com/us/rss/topsongs/limit=10/genre=2/xml";
XmlDocument doc = new XmlDocument();
doc.Load(xml);
XmlNodeList items = doc.SelectNodes("//entry");
foreach (var item in items) {
// Do something with item.
}
不过运气不好。 items
为空。为什么?我做错了什么?
最佳答案
您需要创建命名空间管理器以将 RSS 和 iTunes 自定义标签命名空间 URI 映射到短前缀(下例中的 itunes 和 im):
var xml = "http://itunes.apple.com/us/rss/topsongs/limit=10/genre=2/xml";
XmlDocument doc = new XmlDocument();
doc.Load(xml);
var namespaceManager = new XmlNamespaceManager(doc.NameTable);
namespaceManager.AddNamespace("itunes", "http://www.w3.org/2005/Atom");
namespaceManager.AddNamespace("im", "http://itunes.apple.com/rss");
XmlNodeList items = doc.SelectNodes("//itunes:entry", namespaceManager);
foreach (XmlNode item in items)
{
var price = item.SelectSingleNode("im:price", namespaceManager);
var releaseDate = item.SelectSingleNode("im:releaseDate", namespaceManager);
if (price != null)
{
Console.WriteLine(price.Attributes["amount"].InnerText);
}
if (releaseDate != null)
{
Console.WriteLine(releaseDate.Attributes["label"].InnerText);
}
}
对于该特定提要,您应该获得 10 个条目。
它在 docs as well 中:
If the XPath expression does not include a prefix, it is assumed that the namespace URI is the empty namespace. If your XML includes a default namespace, you must still use the XmlNamespaceManager and add a prefix and namespace URI to it; otherwise, you will not get any nodes selected. For more information, see Select Nodes Using XPath Navigation.
或者,您可以使用与 namespace 无关的 XPath(来自 here):
XmlNodeList items = doc.SelectNodes("//*[local-name() = 'entry']");
最后,不确定您为什么说 items 为 null。它不可能是。运行原始代码时,您应该得到:
关于c# - 无法读取 iTunes XML 提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25132128/
作为桌面开发人员,这对我来说是新的。 如果我能弄清楚这是如何完成的,它可能与我正在做的一些研究有关,特别是如何将厚桌面应用程序迁移到 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
我是一名优秀的程序员,十分优秀!