0

我想要一个解析 XML 文件的程序,用我需要的标签构建一个结构,最后使用 HTML 模板打印一个 HTML 报告,其中的关键字被 XML 文件中的数据替换。由于我还没有(还)真正进入 OO 编程,我希望获得一些关于如何构建这样的程序的提示和建议。我认为两节课就足够了。一个解析器类和一个数据类。第一个通过 XML 文件并将我想要存储的每个标签报告给一个数据对象,该数据对象以分层顺序存储所有标签。之后,我想调用一个打印函数,它将所有内容打印为 HTML 报告。

  1. 我不确定如何将标签报告给数据对象
  2. 我可以将标签存储在一个存储结构树的对象中,还是将每个标签存储在单独的对象中更好?

任何帮助将不胜感激!

4

2 回答 2

0

您在问题中没有提到 Qt,但是当您将其添加为标签时:有 QtXML,它将提供一种解析和生成 XML 文档的方法,并且也适用于 HTML 输出。XML 通常通过 DOM 或 SAX 处理。使用 DOM,文档被解析为树形结构,您将在树上工作作为您的中心数据元素。使用 SAX,您可以在解析 XML 输入时使用为不同 XML 元素调用的回调函数。

互联网上有很多关于 DOM 和 SAX 的内容,维基百科是一个很好的起点。网上也有很多关于 QtXML 的文档。

使用 DOM 和/或 SAX 将为解决问题提供一个很好的架构。

于 2012-11-15T11:07:30.447 回答
0

我解决了我的问题并想分享我的架构。我制作了一个类解析器来解析元素并将标签报告给一个 HTMLHandler 类,该类具有像标题、内容和子内容这样的子类。它存储数据并且都有 write()- 方法来打印自己。

对我来说很好,而且很简单:)

于 2012-11-22T15:51:12.063 回答