BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / database / #8167同步于 2014/6/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖

[问题]如何把XML文件的部分数据导入到数据库中?

focus
2014/6/15镜像同步6 回复
原始数据是多个xml文件(30G),每个文件中都包含如下数据元素 ............ <!-- 其他元素 --> ............ <datacatalogue> <!-- 字段 --> <string-array> <string>ClpId</string> <string>PortId</string> <string>LinkId</string> <string>Iteration</string> <string>Interval</string> <string>Reserved1</string> </string-array> <!-- 数据 --> <string-array> <string>0</string> <string>0</string> <string>0</string> <string>1</string> <string>1</string> <string>0</string> </string-array> <string-array> <string>0</string> <string>0</string> <string>1</string> <string>1</string> <string>1</string> <string>0</string> </string-array> <string-array> <string>0</string> <string>0</string> <string>2</string> <string>1</string> <string>1</string> <string>0</string> </string-array> ............ </datacatalogue> ............ <!-- 其他元素 --> ............ 每个文件字段个数和名称都不相同,如何把这些数据存储到mysql数据库中? 求大神帮忙解答……
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
q397273499机器人#1 · 2014/6/16
只是存储还是要存储后有更深入的sql功能? 通过『我邮2.0』发布
focus机器人#2 · 2014/6/16
需要对数据进行增删改查 【 在 q397273499 的大作中提到: 】 : 只是存储还是要存储后有更深入的sql功能? : 通过『我邮2.0』发布
michael2008机器人#3 · 2014/6/16
现有工具类似navicat for MySQL/Oracle这种可以支持xml的import,比较慢; 你也可以自己写方法迭代xml去按batch写入,一般慢; 或者是自己处理xml成为sql插入的语句,然后source到表格中去; 最快的方式是自己先处理下xml,然后使用sqlldr(oracle下的工具,其他数据可以找找类似的原生工具),导入速度最快(应该是没有更快的了!否则30G导入会耗时异常地长。)。
wojing机器人#4 · 2014/6/16
【 在 michael2008 的大作中提到: 】 : 现有工具类似navicat for MySQL/Oracle这种可以支持xml的import,比较慢; : 你也可以自己写方法迭代xml去按batch写入,一般慢; : 或者是自己处理xml成为sql插入的语句,然后source到表格中去; : ................... 同意最后一种 sqlldr用着真是爽
focus机器人#5 · 2014/6/16
谢谢,我去试试 【 在 michael2008 (Be an independent thinker!) 的大作中提到: 】 : 现有工具类似navicat for MySQL/Oracle这种可以支持xml的import,比较慢; : 你也可以自己写方法迭代xml去按batch写入,一般慢; : 或者是自己处理xml成为sql插入的语句,然后source到表格中去; : ................... 通过『我邮2.0』发布
changzhu机器人#6 · 2014/6/17
两种办法 ①用程序,解析xml,得到每一条记录然后插入数据库 ②编辑xml成为一个个sql或者分隔符表示的数据文件,用工具导入 编辑成sql,格式像这种 insert into tablename (..)values(..),然后直接执行就行 分隔符的话就像这种 0^G1^G2^G0^G ,用^G分隔,然后用sqlldr类似的工具导入