Eua*_*uan 301
EPUB格式汇集了许多不同的规格/格式:
规范看起来有点令人生畏,但实际上,一旦你掌握了基础知识(解压缩,解析XML),它就不是特别困难或复杂了.
您需要了解如何下载EPUB,将其解压缩到某处,解析清单然后显示相关内容.
如果您刚刚开始,请注意以下几点:
要显示内容,请立即使用UIWebView
.
以下是您的代码的高级步骤:
1)创建一个视图 UIWebView
2)下载EPUB文件
3)使用上面链接的zip库将其解压缩到应用程序文档文件夹中的子目录
4)META-INF/container.xml
使用上面链接的TBXML 解析XML文件(如果此文件不存在,EPUB无效)
5)在这个XML中,找到第一个带有media-type的"rootfile" application/oebps-package+xml
.这是本书的OPF文件.
6)解析OPF文件(也是XML)
7)现在你需要知道这本书的第一章是什么.
一个),每个<item>
在<manifest>
元件具有ID和一个href.将它们存储在NSDictionary
键为id且对象为href的位置.
B)先看第一个<itemref>
在<spine>
.它有一个idref属性,对应于(a)中的一个id.在那里查找那个id NSDictionary
,你会得到一个href.
c)这是显示用户的第一章的文件.弄清楚完整路径是什么(提示:它是将zip文件解压缩到(3)的位置加上(6)中OPF文件的基本目录)
8)创建一个NSURL
using fileURLWithPath:
,其中path是从(7c)开始的完整路径.使用UIWebView
您在(1)中创建的请求加载此请求.
您需要实现前进/后退按钮或滑动等,以便用户可以从一个章节移动到另一个章节.使用<spine>
它来确定接下来要显示的文件 - <itemrefs>
XML中的文件按照它们应该向阅读器显示的顺序排列.
我读过这个教程一次(需要免费注册,对不起),它给了我一个很好的ePub介绍.deverloperWorks教程在这里
我强烈建议您查看一些XML处理库.如果您只想从XML文件中获取特定信息,那么您可以选择正确的解析策略.
归档时间: |
|
查看次数: |
57892 次 |
最近记录: |