把CSV文件通过XSD转为XML

mocker1983 2013-01-23 10:02:02
现在我有一个几十万行记录的CSV文件,这个是我的数据源;然后有一个给定格式的XSD文件,这个是输出的文件结构;我的需求是根据XSD的格式把CSV文件的数据输出到XML。
1. 因为每一条CSV记录中,CELL之间有一些关联关系,比如是如下格式的内容(举例):
中国;广东;深圳;罗湖;
中国;广东;深圳;宝安;
中国;广东;深圳;南山;
中国;广东;深圳;龙岗;
中国;广东;广州;海珠;
中国;广东;广州;白云;
中国;广东;广州;黄埔;
中国;广东;广州;天河;
中国;湖南;长沙;芙蓉;
中国;湖南;常德;
中国;北京;
2. XSD文件中有10几个表,表与表之间是有关系的,格式大致是(举例)



这样的,也就是我需要生成的XML格式如下:
中国
广东
广州
海珠
白云
黄埔
天河
深圳
罗湖
宝安
南山
湖南
长沙
芙蓉
湖南
常德
北京

请教大家:
1. 怎么读取CSV快,因为文件中有一些类似1.0.1这样的CELL,如果使用OLEDB的形式去读的话就会报错“不是合法的日期”,想问是否能让所有字段读到datatable里都是字符型,而不是会自动转化成日期,数字等等..

2. 如果不用OLEDB, 用什么数据结构读取CSV比较快一点,这个程序比较需要考虑效率,因为本来就是一个增强。

3. 把数据读到数据结构以后,怎么根据XSD写XML,是跟写TEXT一样吗?还是有其他的好方法,求教,谢谢!
...全文
255 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mocker1983 2013-01-24
  • 打赏
  • 举报
回复
引用 4 楼 hb1122 的回复:
如此简单的问题。。。 定义几个class,然后你FileStream把文件读过去,分拆文本到实体,最后xml序列化到文件即可
这么简单的话,求代码实现,谢谢
hb1122 2013-01-24
  • 打赏
  • 举报
回复
如此简单的问题。。。 定义几个class,然后你FileStream把文件读过去,分拆文本到实体,最后xml序列化到文件即可
mocker1983 2013-01-23
  • 打赏
  • 举报
回复
引用 2 楼 cityhunter172 的回复:
1、使用正确连接字串,有个参数设置好后就是以字符的形式读取 csv 文件 2、读取数据进 dataset,转成 xml 3、利用 xml 控件,设置好 xsd 参考网址:http://www.cnblogs.com/windy2008/archive/2012/11/14/2769551.html
关于第二点。 需要对dataset里面的表加关联字段,关联字段也会显示在XML上面,如何处理呢? 3、利用 xml 控件,设置好 xsd 如果能有详细的操作就更好了。需求是根据XSD来生成XML,所以我们不能只做验证,我需要把XSD作为生成XML的模板
cityhunter172 2013-01-23
  • 打赏
  • 举报
回复
1、使用正确连接字串,有个参数设置好后就是以字符的形式读取 csv 文件 2、读取数据进 dataset,转成 xml 3、利用 xml 控件,设置好 xsd 参考网址:http://www.cnblogs.com/windy2008/archive/2012/11/14/2769551.html
mocker1983 2013-01-23
  • 打赏
  • 举报
回复
再加多一句说明,这是一个WINFORM程序,不是WEB的,如果能提供相应的source,不胜感激;VB&C#都可以。

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧