标题:C#如何读取特定格式的文本存放到数据库里
只看楼主
wangxunwei
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-10-26
结帖率:0
已结贴  问题点数:20 回复次数:2 
C#如何读取特定格式的文本存放到数据库里
文本内容如下:
*********************************
<名称>=中国
<人口>=人口13亿
<城市>=北京上海
南京深圳
<民族>=汉
*********************************
<名称>=日本
<城市>=东京fdf
<人口>=人口1亿
*********************************
<名称>=美国
<人口>=人口13亿
其中括号内为字段,等号右边为内容。内容有可能二两行不定。怎么读取内容赋值给变量。存入数据库,请大家帮忙,谢谢
搜索更多相关主题的帖子: 数据库 如何 中国 南京 东京 
2011-10-26 22:12
lovesun3
Rank: 2
等 级:论坛游民
帖 子:6
专家分:32
注 册:2011-10-25
得分:10 
用StreamReader 一行一行读出文本类容 再进行判断  分割后 插入数组 再进行操作
2011-10-27 00:04
serious
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:81
专家分:497
注 册:2009-8-18
得分:10 
你也可以用“LINQ”。
作为一个例子:
程序代码:
IList<Dictionary<string, string>> infos =
        File.ReadAllText(@"C:\tmp\test\data.txt")
        .Split(new[] { "*********************************" }, StringSplitOptions.RemoveEmptyEntries)
        .Select(info => info.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries))
        .Select(array => array.Aggregate(new List<string>(), (list, s) => { if (s.Contains("=")) list.Add(s); else list[list.Count - 1] += "\r\n" + s; return list; }))
        .Select(list => list.Select(s => { var a = s.Split('='); return new KeyValuePair<string, string>(a[0], a[1]); }).ToDictionary(p => p.Key, p => p.Value))
        .ToList();

foreach (var info in infos)
{
    Console.WriteLine("Country info :");

    foreach (var pair in info)
    {
        Console.WriteLine("\t{0}: {1}", pair.Key, pair.Value);
    }
}
2011-10-28 05:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-353534-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.166069 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved