gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 20:45:36 24 4
gpt4 key购买 nike

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

最佳答案

这是阅读 epub 文件的基本方法

  • 将 EPUB 文件视为 ZIP 存档并使用 Windows 阅读内置 ZIP 存档阅读器 ZipArchive
  • 在存档中,找到文件 META-INF/container.xml 并查看它
    查找根文件元素的完整路径属性。那给了您是 OPF 文件的路径(可能类似于
  • OPS/content.opf) OPF 文件的'manifest'元素会告诉
    你组成这本书的所有文件的名称。 “脊柱”
    元素会告诉你它们在书中出现的顺序(和将通过 spine 的 'toc' 属性包含一个引用
    元素,到通常位于 NCX 中的目录文件
    格式)
  • 通常,EPUB 图书由一系列 XHTML 文件组成,每个包含本书的一个“章节”的文件。的基本程序显示一本书供阅读将是:
    • 找出用户想看的章节
    • 将该章节的 XHTML 加载到 WebView(或其他用于在屏幕上呈现 XHTML 的解决方案)

您可能遇到的问题:

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

  • 您需要做一些工作才能在 WebView 中显示图像,特别是如果你试图涵盖所有的图像类型EPUB 标准。

  • 找到并应用 EPUB 中的所有 CSS 样式会很麻烦书中定义。

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

  • 您可能会发现单个 EPUB 章节对于在 WebView 中显示。最后,您可能会决定所有WebView 的局限性意味着您最好自己编写自定义 XHTML 解析渲染方案,并使用显示TextBlocks,或者更奇特的东西(你可以使用 C++ interop代码和 D2D 字体 API)

关于c# - 如何使用 C# 解析 ncx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27957414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com