专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C#

C#读取文本并入库解决方法

发布时间:2011-06-21 11:33:49 文章来源:www.iduyao.cn 采编人员:星星草
C#读取文本并入库
文本格式固定如下:
**********************:
<中文作者一>=赵逢玲
<中文作者二>=杜秀华
<中文作者三>=王翠东
<中作者单位一>=277500山东省滕州市中心人民医院
<中作者单位二>=The Center People's Hospital 
<中作者简介一>=中华医学会杂志社
***************************
<中文作者一>=赵逢玲
<中文作者二>=杜秀华
<中文作者三>=王翠东
<中作者单位一>=277500山东省滕州市中心人民医院
<中作者单位二>=The Center People's Hospital 
<中作者简介一>=中华医学会杂志社

数据库中有三个字段:
作者、作者单位、作者简介。
这怎么入库啊


------解决方案--------------------
那你首先设置一个计数变量index,然后通过读取一行ReadLine(),比较判断看是不是***********,
然后将*******号之间的先分开,然后这之间的6行数据,前三行数据通过=号来Split,去后面的内容,然后拼接做为你数据库中作者的信息,然后是第四五行,通过=来Split,取后面的内容拼接作为作者单位,最后一行,=号分隔后面的内容作为作者简介,然后保存进数据库。

这个你得慢慢遍历、判断、比较、处理,是可以做出来的。
------解决方案--------------------
不好意思改一下或许更好一点
[<].*[>]这样匹配就可以截取
<>之间的内容了


------解决方案--------------------
感觉似乎少了,书名这个字段,这样即使插入数据库,也会造成一锅粥
大致思路如下:

先建立个类 Author 下边 有属性 Number Name Unit Intro
申明List<Author> author
1、先选取1段,先读取“<中文作者”至下一个“>”中的文字,这样不
管是“一”还是“九十”都能够读出来,再从“>=”后取出到下一个“<”
的文字作为作者名。
名字取出后 
author[0].Number ="一";
author[0].Name ="赵逢玲";
author[0].Unit = null;
author[0].Intro = null;
大致这样
2、第二次查找“<中作者单位”至下一个“>”中的文字,和列表中的
Number比较,如果相等,就将“>=”到下一个“<”文字取出赋予Unit
3、同理搞定Intro,这样就有了个很整齐的List了,循环插入。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: