iTunes 导出 XML 文件位于
/Users/username/Music/iTunes/iTunes Music Library.xml
我的应用程序需要读取此文件。
它与我的 2200 首歌曲库配合得很好,但对于更大的库,它就不够用了
- 将所有内容加载到 RAM
- 启动最多需要 10 秒
我需要动态读取这个 xml 文件,并能够同时迭代它。
任何建议、示例代码、引用资料、提示,我们将不胜感激!
最佳答案
我假设您正在使用基于 DOM(NSXMLDocument?)的方法来加载您的 iTunes 库。
这可以解释内存消耗和缓慢的启动行为。
为了避免一次将整个文档加载到 RAM 中,您应该切换到 SAX 解析器并跳过您不感兴趣的元素。
Cocoa 内置的 SAX 解析器是 NSXMLParser ,它允许您通过遵守NSXMLParserDelegate顺序读取和过滤元素.
当你似乎构建一个 iTunes 相关的应用程序时:
苹果最近published documentation对于现在公开的 iTunesLibrary.framework。
关于objective-c - 动态读取和过滤 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16891845/