iTunes 将 XML 文件导出到
/Users/username/Music/iTunes/iTunes Music Library.xml
我的应用程序需要读取此文件。
它适用于我的 2200 首歌曲库,但对于更大的库
- 将所有内容加载到 RAM 中
- 启动最多需要 10 秒
我需要动态读取这个 xml 文件,并且能够同时迭代它。
任何建议、示例代码、参考、提示将不胜感激!
iTunes 将 XML 文件导出到
/Users/username/Music/iTunes/iTunes Music Library.xml
我的应用程序需要读取此文件。
它适用于我的 2200 首歌曲库,但对于更大的库
我需要动态读取这个 xml 文件,并且能够同时迭代它。
任何建议、示例代码、参考、提示将不胜感激!
我假设您正在使用基于 DOM(NSXMLDocument?)的方法来加载您的 iTunes 库。
这可以解释内存消耗和缓慢的启动行为。
为了避免一次将整个文档加载到 RAM 中,您应该切换到 SAX 解析器并跳过您不感兴趣的元素
。Cocoa 内置的 SAX 解析器是NSXMLParser,它允许您通过符合NSXMLParserDelegate顺序读取和过滤元素。
正如您似乎构建了一个与 iTunes 相关的应用程序:
Apple 最近为现在公开的 iTunesLibrary.framework发布了文档。