C XML解析算法

C XML解析算法,c,xml,C,Xml,我有以下模式 <dataset> <record> <A> </A> <B> </B> </record> <record> <A> </A> <B> </B> </record> </dataset> 你能提出一个有效的算法来解析“记录”并将它们存储

我有以下模式

<dataset>
   <record>
      <A> </A>
      <B> </B>
   </record>

   <record>
      <A> </A>
      <B> </B>
   </record>
</dataset>

你能提出一个有效的算法来解析“记录”并将它们存储在c结构中吗


直接解析需要很长时间,因为记录数大约为1500条。也欢迎对模式进行任何更改。

我建议不要重新发明算法,而是使用XML解析器。出于各种原因,请查看关于为什么不在XHTML上使用正则表达式的这一精辟答案:(我承认解析XHTML更加困难,但像偶尔出现的属性之类的东西都是一样的,接受的答案确实值得一读)

您关心的是运行时-您是否在嵌入式设备上?
如果是这样,您可以将xml预处理成易于在微控制器上解析的格式。

使用库,可以从中选择一些。解析XML很难。算法:1。下载XML库2。使用xml库和xpath访问元素当您说“解析需要很长时间”时,您是说您已经编写了自己的解析器,而不是使用现成的解析器?在这种情况下,花费很长时间也就不足为奇了,答案是使用现成的解析器,这将比您自己编写的任何解析器都要高效。我正在使用Labwindows CVI中的库。尝试使用类似于使用堆栈计算后缀表达式的算法