繁体   English   中英

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

[英]Parsing an xml file and storing it into a database

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

关于

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

答案是好的, 是的,你可以 ,至少在R。

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

并且RMySQL包可以在单个命令 data.frame对象传输到数据库 - 包括表创建(如果需要) - 使用在R的公共DBI后端中定义的dbWriteTable()函数,并由RMySQL为MySQL提供。

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM