1

iTunes 将 XML 文件导出到

/Users/username/Music/iTunes/iTunes Music Library.xml

我的应用程序需要读取此文件。
它适用于我的 2200 首歌曲库,但对于更大的库

  1. 将所有内容加载到 RAM 中
  2. 启动最多需要 10 秒

我需要动态读取这个 xml 文件,并且能够同时迭代它。

任何建议、示例代码、参考、提示将不胜感激!

4

1 回答 1

1

我假设您正在使用基于 DOM(NSXMLDocument?)的方法来加载您的 iTunes 库。
这可以解释内存消耗和缓慢的启动行为。

为了避免一次将整个文档加载到 RAM 中,您应该切换到 SAX 解析器并跳过您不感兴趣的元素
。Cocoa 内置的 SAX 解析器是NSXMLParser,它允许您通过符合NSXMLParserDelegate顺序读取和过滤元素。

正如您似乎构建了一个与 iTunes 相关的应用程序:
Apple 最近为现在公开的 iTunesLibrary.framework发布了文档

于 2013-06-03T10:13:20.957 回答