using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
namespace Demo
{
internal class Program
{
//创建连接
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "REOORO";
scsb.UserID = "sa";
scsb.Password = "19858184859";
scsb.InitialCatalog = "library";
//判断连接是否打开
SqlConnection conn = new SqlConnection(scsb.ToString());//参数是连接数据库的字符串
if(conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
}
static void Main(string[] args)
{
//xml to txt 并按成绩降序
string str = File.ReadAllText("D:\研究生复试李泽平\xml\xml最终版\xml-txt\\Data.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(str);
XmlNodeList nodes = xmlDoc.SelectNodes("grades//grade");
List<Grade> grades = new List<Grade>();
foreach (XmlNode node in nodes)
{
grades.Add(new Grade()
{
Id = node.SelectSingleNode("id").InnerText,
Name = node.SelectSingleNode("name").InnerText,
Course = node.SelectSingleNode("course").InnerText,
Score = int.Parse(node.SelectSingleNode("score").InnerText),
});
}
List<Grade> result = grades.OrderByDescending(x => x.Score).ToList();
StringBuilder sb = new StringBuilder();
foreach (Grade grade in result)
{
sb.Append($"{grade.Id},{grade.Name},{grade.Course},{grade.Score}\n");
}
File.WriteAllText("D:\研究生复试李泽平\xml\xml最终版\xml-txt\\Data.txt", sb.ToString());
//SqlConnection sqlConnection = new SqlConnection();
//sqlConnection.ConnectionString = connString;
//sqlConnection.Open();
生成插入的sql语句
//StringBuilder sql = new StringBuilder();
//sql.Append("Insert Into grade values ");
//foreach (Grade grade in result)
//{
// sql.Append($"('{grade.Id}','{grade.Name}','{grade.Course}',{grade.Score}),");
//}
//string sqlTxt = sql.ToString();
//sqlTxt = sqlTxt.Substring(0, sqlTxt.Length - 1);
//sqlTxt = sqlTxt + ";";
//SqlCommand sqlCommand = new SqlCommand(sqlTxt, sqlConnection);
//var count = sqlCommand.ExecuteNonQuery();
//sqlConnection.Close();
//TXT转XML
string[] txts = File.ReadAllLines("D:\研究生复试李泽平\xml\xml最终版\xml-txt\\Data.txt");
List<Grade> grades1 = new List<Grade>();
foreach (string txt in txts)
{
string[] datas = txt.Split(",");
grades1.Add(new Grade()
{
Id = datas[0],
Name = datas[1],
Course = datas[2],
Score = int.Parse(datas[3]),
});
}
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Grade>),new XmlRootAttribute("Grades"));
xmlSerializer.Serialize(memoryStream, grades1);
memoryStream.Position = 0;
StreamReader sr = new StreamReader(memoryStream);
string data =sr.ReadToEnd();
memoryStream.Close();
File.WriteAllText("C:\\Users\\Bruce Qiu\\Desktop\\Data1.xml", data);
}
}
public class Grade
{
public string Id { get; set; }
public string Name { get; set; }
public string Course { get; set; }
public int Score { get; set; }
}
}
<?xml version="1.0"?>
<grades>
<grade>
<id>2019001</id>
<name>张三</name>
<course>机器学习</course>
<score>85</score>
</grade>
<grade>
<id>2019002</id>
<name>李四</name>
<course>操作系统</course>
<score>90</score>
</grade>
<grade>
<id>2019003</id>
<name>王五</name>
<course>数据结构</course>
<score>95</score>
</grade>
<grade>
<id>2019003</id>
<name>刘六</name>
<course>数据结构</course>
<score>68</score>
</grade>
<grade>
<id>2019003</id>
<name>初七</name>
<course>数据结构</course>
<score>74</score>
</grade>
<grade>
<id>2019003</id>
<name>朱八</name>
<course>数据结构</course>
<score>100</score>
</grade>
<grade>
<id>2019003</id>
<name>李九</name>
<course>数据结构</course>
<score>69</score>
</grade>
</grades>
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using static System.Net.Mime.MediaTypeNames;
using System.Diagnostics;
using System.Xml.Serialization;
namespace xml_txt
{
internal class Program
{
static void Main(string[] args)
{
//xml转txt
//1.导入xml文件
string str = File.ReadAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(str);
XmlNodeList nodes = xmlDoc.SelectNodes("grades//grade");
List<Grade> grades = new List<Grade>();
foreach (XmlNode node in nodes)
{
grades.Add(new Grade()
{
Id = node.SelectSingleNode("id").InnerText,
Name = node.SelectSingleNode("name").InnerText,
Crouse = node.SelectSingleNode("course").InnerText,
Score = int.Parse(node.SelectSingleNode("score").InnerText),
});
}
List<Grade> result = grades.OrderByDescending(g => g.Score).ToList();
StringBuilder sb = new StringBuilder();
foreach (Grade grade in result)
{
sb.Append($"{grade.Id},{grade.Name},{grade.Crouse},{grade.Score}\n");
}
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt", sb.ToString());
xml写入数据库
创建连接
//SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
//scsb.DataSource = "REOORO";
//scsb.UserID = "sa";
//scsb.Password = "19858184859";
//scsb.InitialCatalog = "library";
判断连接是否打开
//SqlConnection conn = new SqlConnection(scsb.ToString());//参数是连接数据库的字符串
//if (conn.State == System.Data.ConnectionState.Closed)
//{
// conn.Open();
//}
//StringBuilder sql = new StringBuilder();
//sql.Append("Insert into grade values");
//foreach(Grade grade in result)
//{
// sql.Append($"('{grade.Id}','{grade.Name}','{grade.Crouse}','{grade.Score}'),");
//}
//string sqlTxt = sql.ToString();
//sqlTxt = sqlTxt.Substring(0,sqlTxt.Length-1);
//sqlTxt = sqlTxt + ";";
//SqlCommand sqlCommand = new SqlCommand(sqlTxt, conn);
//sqlCommand.ExecuteNonQuery();
//txt转xml
//TXT转XML
string[] txts = File.ReadAllLines("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt");
List<Grade> grades1 = new List<Grade>();
foreach (string txt in txts)
{
string[] datas = txt.Split(',');
grades1.Add(new Grade()
{
Id = datas[0],
Name = datas[1],
Crouse = datas[2],
Score = int.Parse(datas[3]),
});
}
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<Grade>), new XmlRootAttribute("Grades"));
xmlSerializer.Serialize(memoryStream, grades1);
memoryStream.Position = 0;
StreamReader sr = new StreamReader(memoryStream);
string data = sr.ReadToEnd();
memoryStream.Close();
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data1.xml", data);
}
}
public struct Grade
{
public string Id { get; set; }
public string Name { get; set; }
public string Crouse { get; set; }
public int Score { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using static System.Net.Mime.MediaTypeNames;
using System.Diagnostics;
using System.Xml.Serialization;
namespace xml_txt
{
internal class Program
{
static void Main(string[] args)
{
//xml转txt
string str = File.ReadAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(str);
XmlNodeList nodes = xmlDoc.SelectNodes("grades//grade");
List < Grade > grades= new List<Grade>();
foreach(XmlNode node in nodes)
{
grades.Add(new Grade()
{
Id = node.SelectSingleNode("id").InnerText,
Name = node.SelectSingleNode("name").InnerText,
Crouse = node.SelectSingleNode("course").InnerText,
Score = int.Parse(node.SelectSingleNode("score").InnerText),
});
}
//List<Grade> result = grades.OrderByDescending(g => g.Score).ToList();
StringBuilder sb = new StringBuilder();
foreach (Grade grade in grades)
{
sb.Append($"{grade.Id},{grade.Name},{grade.Crouse},{grade.Score}\n");
}
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt", sb.ToString());
//xml导入数据库
//1.连接数据库
SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
scsb.DataSource = "REOORO";
scsb.InitialCatalog = "library";
scsb.UserID = "sa";
scsb.Password = "19858184859";
SqlConnection conn = new SqlConnection(scsb.ToString());
if(conn.State != ConnectionState.Open)
{
conn.Open();
}
//导入数据库
//StringBuilder sql = new StringBuilder();
//sql.Append($"Insert into grade valuse");
//foreach (Grade grade in grades)
//{
// sql.Append ($"('{grade.Id }',)");
//}
//string sqlTxt = sql.ToString();
//sqlTxt = sqlTxt.Substring(0,sqlTxt.Length - 1);
//sqlTxt = sqlTxt + ";";
//SqlCommand sc = new SqlCommand(sqlTxt, conn);
//sc.ExecuteNonQuery();
//txt转xml
string[] txts = File.ReadAllLines("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt");
List<Grade> grades1 = new List<Grade>();
foreach(string txt in txts)
{
string[] datas = txt.Split( ',' );
grades1.Add(new Grade()
{
Id = datas[0],
Name = datas[1],
Crouse = datas[2],
Score = int.Parse(datas[3]),
});
}
MemoryStream ms = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(List<Grade>),new XmlRootAttribute("Grades"));
xs.Serialize(ms, grades1);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string data = sr.ReadToEnd();
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data1.xml", data);
}
}
public struct Grade
{
public string Id { get; set; }
public string Name { get; set; }
public string Crouse { get; set; }
public int Score { get; set; }
}
}
第四次
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using static System.Net.Mime.MediaTypeNames;
using System.Diagnostics;
using System.Xml.Serialization;
namespace xml_txt
{
internal class Program
{
static void Main(string[] args)
{
//xml转txt
string str = File.ReadAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(str);
XmlNodeList nodes = xmlDoc.SelectNodes("grades//grade");
List<Grade> grades = new List<Grade>();
foreach (XmlNode node in nodes)
{
grades.Add(new Grade()
{
Id = node.SelectSingleNode("id").InnerText,
Name = node.SelectSingleNode("name").InnerText,
Crouse = node.SelectSingleNode("course").InnerText,
Score = int.Parse(node.SelectSingleNode("score").InnerText),
}) ;
}
List<Grade> result = grades.OrderByDescending(g => g.Score).ToList();
StringBuilder sb = new StringBuilder();
foreach(Grade grade in result)
{
sb.Append($"{grade.Id},{grade.Name},{grade.Crouse},{grade.Score}\n");
}
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt",sb.ToString());
xml导入数据库
//SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
//scsb.DataSource = "REOORO";
//scsb.InitialCatalog = "library";
//scsb.UserID = "sa";
//scsb.Password = "19858184859";
//SqlConnection conn = new SqlConnection(scsb.ToString());
//if (conn.State != ConnectionState.Open)
//{
// conn.Open();
//}
//StringBuilder sql = new StringBuilder();
//sql.Append("insert into library values");
//foreach(Grade grade in grades)
//{
// sql.Append($"('{grade.Id}','{grade.Name}','{grade.Crouse}','{grade.Score}'),");
//}
//string sqlTxt = sql.ToString();
//sqlTxt = sqlTxt.Substring(0,sqlTxt.Length - 1);
//sqlTxt = sqlTxt + ";";
//SqlCommand sc = new SqlCommand(sqlTxt,conn);
//sc.ExecuteNonQuery();
//txt转xml
//1.导入txt进数组
string[] txts = File.ReadAllLines("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt");
List<Grade> grades1 = new List<Grade>();
foreach(string txt in txts)
{
string[] data = txt.Split(',');
grades1.Add(new Grade()
{
Id = data[0],
Name = data[1],
Crouse = data[2],
Score = int.Parse(data[3]),
});
MemoryStream ms = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(List<Grade>),new XmlRootAttribute("grades"));
xs.Serialize(ms, grades1);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string datas = sr.ReadToEnd();
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data1.xml", datas);
}
}
}
public struct Grade
{
public string Id { get; set; }
public string Name { get; set; }
public string Crouse { get; set; }
public int Score { get; set; }
}
}
第五次
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using static System.Net.Mime.MediaTypeNames;
using System.Diagnostics;
using System.Xml.Serialization;
namespace xml_txt
{
internal class Program
{
static void Main(string[] args)
{
//xml转txt
//1.导入xml文件
string str = File.ReadAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(str);
XmlNodeList nodes = xmlDoc.SelectNodes("grades//grade");
List<Grade> grades = new List<Grade>();
foreach (XmlNode node in nodes)
{
grades.Add(new Grade()
{
Id = node.SelectSingleNode("id").InnerText,
Name = node.SelectSingleNode("name").InnerText,
Course = node.SelectSingleNode("course").InnerText,
Score = int.Parse(node.SelectSingleNode("score").InnerText),
});
}
List<Grade> result = grades.OrderByDescending(g => g.Score).ToList();
StringBuilder sb = new StringBuilder();
foreach(Grade grade in result)
{
sb.Append($"{grade.Id},{grade.Name},{grade.Course},{grade.Score}\n");
}
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt", sb.ToString());
xml导入数据库
1.连接数据库
//SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
//scsb.DataSource = "REOORO";
//scsb.InitialCatalog = "library";
//scsb.UserID = "sa";
//scsb.Password = "19858184859";
//SqlConnection conn = new SqlConnection(scsb.ToString());
//if(conn.State != ConnectionState.Open)
//{
// conn.Open();
//}
2.xml导入数据库
//StringBuilder sql = new StringBuilder();
//sql.Append("insert into grades values");
//foreach (Grade grade in result)
//{
// sql.Append($"('{grade.Id}','{grade.Name}','{grade.Course}','{grade.Score}'),");
//}
//string sqlTxt = sql.ToString();
//sqlTxt = sqlTxt.Substring(0,sqlTxt.Length - 1);
//sqlTxt = sqlTxt + ";";
//SqlCommand sc = new SqlCommand(sqlTxt,conn);
//sc.ExecuteNonQuery();
//txt转xml
//1.建一个字符串数组放txt内容
string[] txts = File.ReadAllLines("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt");
//申请一个Grade型List
List<Grade> grades1 = new List<Grade>();
foreach(string txt in txts)
{
string[] datas = txt.Split(',');
grades1.Add(new Grade()
{
Id = datas[0],
Name = datas[1],
Course = datas[2],
Score = int.Parse(datas[3]),
});
MemoryStream ms = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(List<Grade>),new XmlRootAttribute("grades"));
xs.Serialize(ms, grades1);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string data = sr.ReadToEnd();
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data1.xml", data);
}
}
}
public struct Grade
{
public string Id { get; set; }
public string Name { get; set; }
public string Course { get; set; }
public int Score { get; set; }
}
}
第六次
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using static System.Net.Mime.MediaTypeNames;
using System.Diagnostics;
using System.Xml.Serialization;
namespace xml_txt
{
internal class Program
{
static void Main(string[] args)
{
//xml转txt
string str = File.ReadAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.xml");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(str);
XmlNodeList nodes = xmlDoc.SelectNodes("grades//grade");
List<Grade> grades = new List<Grade>();
foreach (XmlNode node in nodes)
{
grades.Add(new Grade()
{
id = node.SelectSingleNode("id").InnerText,
name = node.SelectSingleNode("name").InnerText,
course = node.SelectSingleNode("course").InnerText,
score = int.Parse(node.SelectSingleNode("score").InnerText),
});
}
//降序
List<Grade> result = grades.OrderByDescending(g => g.score).ToList();
StringBuilder sb = new StringBuilder();
foreach(Grade grade in result)
{
sb.Append($"{grade.id},{grade.name},{grade.course},{grade.score}\n");
}
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt", sb.ToString());
xml导入数据库
//SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();
//scsb.DataSource = "REOORO";
//scsb.InitialCatalog = "library";
//scsb.UserID = "sa";
//scsb.Password = "19858184859";
//SqlConnection conn = new SqlConnection(scsb.ToString());
//if(conn.State != ConnectionState.Open)
//{
// conn.Open();
//}
导入
//StringBuilder sql = new StringBuilder();
//sql.Append("insert into grades values");
//foreach(Grade grade in result)
//{
// sql.Append($"'{grade.Id}','{grade.Name}',''{grade.Course},'{grade.Score}',");
//}
//string sqlTxt = sql.ToString();
//sqlTxt = sqlTxt.Substring(0,sqlTxt.Length - 1);
//sqlTxt = sqlTxt + ";";
//SqlCommand cmd = new SqlCommand(sqlTxt, conn);
//cmd.ExecuteNonQuery();
//txt转xml
string[] txts = File.ReadAllLines("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data.txt");
List<Grade> grades1 = new List<Grade>();
foreach(string txt in txts)
{
string[] datas = txt.Split(',');
grades1.Add(new Grade()
{
id = datas[0],
name = datas[1],
course = datas[2],
score = int.Parse(datas[3]),
});
MemoryStream ms = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(List<Grade>),new XmlRootAttribute("grades"));
xs.Serialize(ms, grades1);
ms.Position = 0;
StreamReader sr = new StreamReader(ms);
string data = sr.ReadToEnd();
File.WriteAllText("D:\\研究生复试李泽平\\xml\\xml最终版\\xml-txt\\Data1.xml", data);
}
}
}
public struct Grade
{
public string id { get; set;}
public string name { get; set; }
public string course { get; set; }
public int score { get; set; }
}
}