您的位置:首页 > 编程语言 > C#

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

2014-05-23 10:21 148 查看
详细请点击:http://www.verydemo.com/demo_c92_i49146.html
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了,循环插入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: