EPUB电子书的核心由多个XML文件构成:container.xml指定OPF文件路径,content.opf管理元数据与资源结构,spine定义阅读顺序,EPUB2使用toc.ncx构建目录,EPUB3则采用nav.xhtml实现更强大的HTML5导航,各文件协同确保跨设备兼容与正确解析。

EPUB电子书中的XML文件是整个文档结构和元数据的核心组成部分。它并不指单一文件,而是一组遵循特定规范的XML格式文件,用来定义电子书的内容结构、目录、元信息以及阅读顺序等关键信息。理解这些XML文件的作用,有助于深入掌握EPUB的构建机制。
container.xml:容器配置入口
这个文件位于META-INF/container.xml路径下,是EPUB解析器读取电子书时最先查找的文件。它告诉阅读系统主内容清单(OPF文件)的位置。
- 必须使用标准命名空间声明:xmlns="urn:oasis:names:tc:opendocument:xmlns:container"
- 通过
标签指定OPF文件路径,例如: - 即使EPUB中有多个书籍内容,也只能有一个默认根文件被激活
content.opf:内容打包与元数据中心
这是EPUB中最核心的XML文件之一,通常命名为content.opf或package.opf,负责描述书籍的整体结构。
- metadata区块包含dc:title、dc:creator、dc:identifier、dc:language等Dublin Core标准元数据
- manifest列表记录所有XHTML、CSS、图片、字体等资源文件及其ID和MIME类型
- spine定义正文内容的阅读顺序,通过itemref引用manifest中的资源ID
- guide可选部分,用于标注封面、目录等特殊页面的指向(在EPUB3中逐渐被NCX替代)
toc.ncx:导航控制文件(适用于EPUB2)
该XML文件提供章节层级结构,供阅读器生成目录树,文件名为toc.ncx,基于DAISY标准。
- 包含
和 作为辅助显示信息 - 使用
构建多级导航节点,每个 对应一个章节链接 - 每个节点通过
指向具体的XHTML文件锚点 - EPUB3推荐使用HTML5格式的nav.xhtml替代此文件
nav.xhtml:EPUB3中的现代导航文件
在EPUB3规范中,用符合HTML5语义的nav.xhtml取代了旧式的toc.ncx,功能更强大且兼容性强。
- 必须包含
- 内部使用嵌套的ol/ul列表组织章节层级
- 支持多种导航类型,如page-list(页码)、landmarks(重点位置)等
- 可直接嵌入样式,提升跨设备显示一致性
基本上就这些。EPUB的本质是一个压缩包,解压后可见上述XML文件协同工作:container定位起点,OPF统筹资源,NCX或nav.xhtml构建目录逻辑。它们共同确保电子书能在不同设备上正确解析与呈现。虽然细节繁杂,但只要把握这几个核心XML的角色分工,就能清晰理解EPUB的骨架结构。











