解析XML文件并存储到数据库中

3 投票
4 回答
2064 浏览
提问于 2025-04-16 07:16

有没有一种通用的方法,可以在R或Python中自动解析XML文件,提取其中的节点和属性,然后自动生成MySQL数据库表来存储这些信息,并且把这些表填充上数据呢?

4 个回答

1

有一个叫做XML的工具包,可以用来把XML格式的数据读入R这个编程环境,还有一个叫做RMySQL的工具包,可以把R中的数据写入MySQL数据库。

这两者之间的工作量很大。因为XML的内容比像MySQL这样的关系型数据库要复杂得多,所以如果有一个工具能处理任何类型的XML数据,那要么它会非常复杂,使用起来很麻烦,要么就是功能太简单,根本没什么用。

4

这三件事是分开的:解析、创建表格和填充数据。你可以用Python来完成这三件事,但这并不是“自动”的。我觉得这并不简单。

举个例子,XML是层次结构的,而SQL是基于关系和集合的。我觉得并不是每一个XML数据流都能轻松地得到一个好的关系型数据库结构。

5

关于这个问题:

在R语言中,有没有一种通用的、自动化的方法来解析xml文件,包括它的节点和属性,自动生成mysql表格来存储这些信息,然后再填充这些表格呢?

答案是一个老生常谈的当然可以,至少在R中是这样。

R的XML包可以读取XML文档,并通过一个函数xmlToDataFrame()在一次调用中返回R的data.frame类型的数据。

RMySQL包可以通过一个命令将data.frame对象传输到数据库中——如果需要的话,还可以创建表格——这都是通过在R的通用DBI后端中定义的dbWriteTable()函数来实现的,这个函数是RMySQL提供给MySQL的。

简单来说:只需要两行代码就能搞定,所以你可以轻松写一个新的辅助函数来完成这个任务,并加上一些错误检查。

撰写回答