如何使用SAX解析器解析动态XML

时间:2016-02-12 10:05:01

标签: ruby-on-rails ruby sax

情景:

  • 用户上传的大型(动态)xml文件。
  • 我们需要将xml映射到我们自己的数据库结构。
  • 由于解析大型XML文件时出现内存问题,我们需要使用SAX解析器(或类似的东西)。

我们目前使用https://github.com/craigambrose/sax_stream来解析所有具有相同结构的XML。

对于新功能,我们需要解析具有未知内容的XML。

每次xml节点不同时,如何使用SAX解析器?

我已尝试使用https://github.com/soulcutter/saxerator,尤其是at_depth()函数可以派上用场来收集某个深度的元素,之后我们可以通过使用for_tag()功能。根据这些信息,我们可以动态创建一个映射

如果SAX解析器不是一个选项,是否有解析非常大(动态)XML文件的替代方法?

0 个答案:

没有答案