解析xml文件并将其存储到数据库中

时间:2010-11-18 10:15:19

标签: python mysql xml r

在R或python中是否存在通用/自动方式来解析具有其节点和属性的xml文件,自动生成用于存储该信息的mysql表,然后填充这些表。

4 个答案:

答案 0 :(得分:5)

关于

  

R中是否存在通用/自动方式   解析xml文件及其节点和   属性,自动生成   用于存储的mysql表   信息然后填充那些   表。

答案是一个很好的旧是的,你可以,至少在R

R的XML包可以使用data.frame函数读取XML文档并在单个调用中返回R xmlToDataFrame()类型

RMySQL包可以在一个命令中将data.frame个对象传送到数据库 - 包括需要的表创建---使用{{1在公共DBI后端为R定义的函数,由RMySQL为MySQL提供。

简而言之:两行可以做到这一点,因此您可以轻松地为自己编写一个新的辅助函数,并执行相应数量的错误检查。

答案 1 :(得分:4)

它们是三个独立的操作:解析,表创建和数据填充。你可以用python完成所有三个,但没有什么“自动”的。我认为这不容易。

例如,XML是分层的,SQL是关系的,基于集合的。我不认为为您遇到的每一个XML流获得良好的关系模式总是那么容易。

答案 2 :(得分:1)

有用于将XML读入R的XML包,以及用于将数据从R写入MySQL的RMySQL包。

两者之间有很多工作要做。 XML超越了像MySQL这样的RDBMS的范围,因此可以处理任何抛出的XML的东西要么是荒谬的复杂,要么是无用的。

答案 3 :(得分:0)

我们有时会在工作中做这样的事情,但在python中却没有。在这种情况下,每次使用都需要编写自定义程序。我们只有SAX解析器可用。使用XML解码器在一个步骤中获取字典/哈希将有很大帮助。

至少你必须告诉它哪些标签映射到表和字段,没有预先存在的lib可以知道......