解析XML文件并存储到数据库中
有没有一种通用的方法,可以在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的。
简单来说:只需要两行代码就能搞定,所以你可以轻松写一个新的辅助函数来完成这个任务,并加上一些错误检查。