如何仅使用标准库编写XML解析器?

时间:2015-10-16 19:13:18

标签: c++ xml xml-parsing

我正在编写我的程序,我将导入XML文件并扫描解析器状态(也包括元素,行号,内容)。

现在,我已将所有元素和行号存储在vectorstring的{​​{1}}中。

我的问题是,如何扫描一个属性,最后我能指出根,孩子和直接孩子?我尝试过使用integer,但仍然没有任何线索。

以下是一些例子:

enter image description here

输出

enter image description here

如果我使用其他库会很容易,但我只想使用标准的C / C ++库。

1 个答案:

答案 0 :(得分:5)

如果需要XML解析器,请使用XML解析器。就那么简单。如果您不想使用现有工具,但只使用C ++提供的工具,那么您可以编写自己的XML解析器。这样做会很疯狂。

如果有人告诉你,例如在XML上使用正则表达式:XML不是常规语言,您需要一个理解XML的词法分析器,它是一个XML解析器。要了解当您尝试RegEx分析HTML,see this answer等内容时会发生什么。