C# 如何使用c解析ncx文件

C# 如何使用c解析ncx文件,c#,visual-studio,epub,C#,Visual Studio,Epub,我正在尝试创建一个用于阅读电子酒吧的windows phone应用程序。我提取了内容,现在我想读取ncx文件。但当我尝试使用System.Xml.Serialization.XmlSerializer时,它告诉我第二行中的未知字段本身。请帮助以下是读取epub文件的基本方法 将EPUB文件视为ZIP存档,并使用Windows 内置ZIP存档阅读器,ZipArchive 在归档文件中,找到META-INF/container.xml文件并查看它 查找根文件元素的完整路径属性。那就 您可以选择OPF

我正在尝试创建一个用于阅读电子酒吧的windows phone应用程序。我提取了内容,现在我想读取ncx文件。但当我尝试使用System.Xml.Serialization.XmlSerializer时,它告诉我第二行中的未知字段本身。请帮助

以下是读取epub文件的基本方法

将EPUB文件视为ZIP存档,并使用Windows 内置ZIP存档阅读器,ZipArchive 在归档文件中,找到META-INF/container.xml文件并查看它 查找根文件元素的完整路径属性。那就 您可以选择OPF文件的路径,可能类似于 OPS/content.opf opf文件的“manifest”元素将显示 你可以输入组成这本书的所有文件的名称。“脊椎” 元素将告诉您它们在书中出现的顺序,并且 将通过脊椎的“toc”属性包含一个参考 元素添加到通常位于NCX中的目录文件 总体安排 通常,EPUB手册将由一系列XHTML文件组成,每个文件 包含本书一章的文件。基本程序 展示一本书以供阅读的方式包括: 找出用户想看的章节 将该章节的XHTML加载到WebView或其他解决方案中,以便在屏幕上呈现XHTML 您可能会遇到的问题:

许多EPUB书籍都是使用ZIP生成器创建的,尽管 与ZIP标准兼容,与 操作系统内置的ZIP阅读器API。您可能需要使用 第三方库,如DotNetZip或SharpZipLib,但要小心 后者的许可证条件

您需要做一些工作才能在WebView中显示图像, 特别是如果您试图覆盖所有属于该部分的图像类型 符合EPUB标准

找到并应用EPUB支持的所有CSS样式将是非常困难的 这本书定义了

您可能希望显示章节的“分页”视图, 而不是将其显示为可垂直滚动的长列。 这将涉及一些时髦的javascript工作

您可能会发现,单个EPUB章节对您来说太大了 在网络视图中显示。最后,你可能会决定 WebView的局限性意味着您最好自己编写 自定义XHTML解析呈现解决方案,并使用 文本块,或更异国情调的,你可以使用C++互操作 代码和D2D字体API


要解析.epub文件,您可能需要使用库:


来源:SO:

请发布您的代码和xml。