您的位置:首页 > 其它

浅试txt文件与xml文件互相转换

2015-12-10 10:42 316 查看
最近遇到了txt文件和xml文件互相转换的问题,于是自己写了写,不算深,只是简单的互相转换,下面把代码共享一下,欢迎大家指点。

先看结果:

这是数据表里面查询出来的 select * from 表名



将数据表导出到txt文件中:



将上述的txt文件转换成xml文件:



由于屏幕截图问题,一个屏没截完整,最后没问题的。

又将xml文件转换成txt文件 :



第一步:获得txt文件数据源,首先找一个数据表把里面的数据导出到txt文件中,以逗号隔开。如下:

配置文件和读取数据类就不多说了,默认的 。 从数据表 valLogin 中读取。

SqlConnection conn = new SqlConnection();     //  省略
string sql = "select * from valLogin";
SqlCommand cmd = new SqlCommand(sql,conn);            //  省略
using (SqlDataReader reader = cmd.ExecuteReader())
{
if (!reader.HasRows)
{
Console.WriteLine("没有数据.");
}
else
{
using (StreamWriter writer = new StreamWriter(@"D:/tab.txt"))
{
StringBuilder builder = new StringBuilder(); ;
while (reader.Read())
{
for (int i = 0; i < reader.FieldCount; i++)
{
Console.Write(reader.GetValue(i) + "\t");

string line = string.Format("{0}", reader.GetValue(i));
builder.AppendFormat("{0}", line + ",");

}
writer.WriteLine(builder);
builder.Clear();
Console.WriteLine();
}

Console.WriteLine("导出成功!请按任意键,把导出的txt文件转换成xml文件.");
Console.ReadKey();
}
}
}

这一步我们就把数据表中的数据导出到txt文件中了,没什么难点。


// 定义一个字典集合,方便用。

Dictionary<int, string> dic = new Dictionary<int, string>();
dic.Add(0, "编号");
dic.Add(1, "名称");
dic.Add(2, "密码");
dic.Add(3, "是否");
dic.Add(4, "日期");

using (StreamReader sReader = new StreamReader("D:/tab.txt", Encoding.Default))
{
StringBuilder builder = new StringBuilder();

while (!sReader.EndOfStream)
{
string sLine = sReader.ReadLine();
string[] strLines = sLine.Split(',');
builder.AppendFormat("<tabName>\r\n");
for (int i = 0; i < strLines.Length - 1; i++)
{
builder.AppendFormat("<" + dic[i] + ">{0}</" + dic[i] + ">\r\n", strLines[i]);
}
builder.AppendFormat("</tabName>\r\n");
}

builder.AppendFormat("\r\n");
File.WriteAllText("D:/txtToxml.xml", "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Root>\r\n" + builder.ToString() + "</Root>");
}
Console.WriteLine("转换成功,按下任意键再将xml文件转换成txt文件.");
Console.ReadKey();

这一步就将 txt文件中以逗号分隔的数据转换成了xml文件了,其实也没什么难点。


XDocument xReader = XDocument.Load(@"D:/txtToxml.xml");
XElement root = xReader.Root;
StringBuilder sb = new StringBuilder();
foreach (XElement x in root.Elements())
{
foreach (XElement x2 in x.Elements())
{
sb.AppendFormat(x2.Value + ",");
}
sb.AppendFormat("\r\n");
}
File.WriteAllText(@"D:/xmlTotxt.txt", sb.ToString());
Console.WriteLine("转换成功!");

这一步就又把xml文件转换成了刚刚的txt文件了,也没什么难的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: