淺試txt文件與xml文件互相轉換


 

  最近遇到了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文件了,也沒什么難的。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM