我正在编写我的程序,我将导入XML文件并扫描解析器状态(也包括元素,行号,内容)。
现在,我已将所有元素和行号存储在vector
和string
的{{1}}中。
我的问题是,如何扫描一个属性,最后我能指出根,孩子和直接孩子?我尝试过使用integer
,但仍然没有任何线索。
以下是一些例子:
输出
如果我使用其他库会很容易,但我只想使用标准的C / C ++库。
答案 0 :(得分:5)
如果需要XML解析器,请使用XML解析器。就那么简单。如果您不想使用现有工具,但只使用C ++提供的工具,那么您可以编写自己的XML解析器。这样做会很疯狂。
如果有人告诉你,例如在XML上使用正则表达式:XML不是常规语言,您需要一个理解XML的词法分析器,它是一个XML解析器。要了解当您尝试RegEx分析HTML,see this answer等内容时会发生什么。