用什么软件画手机软件思维导图图

C#实现导出List数据到xml文件的方法【附demo源码下载】
作者:微wx笑
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了C#实现导出List数据到xml文件的方法,涉及C#针对list类及xml文件的相关操作技巧,并附带完整demo源码供读者下载参考,需要的朋友可以参考下
本文实例讲述了C#实现导出List数据到xml文件的方法。分享给大家供大家参考,具体如下:
C#导出List数据到xml文件,这里主要用到的是:
XmlSerializer 类 (System.Xml.Serialization)
将对象序列化到 XML 文档中和从 XML 文档中反序列化对象。XmlSerializer 使您得以控制如何将对象编码到 XML 中。
实体类代码:
/// &summary&
/// 用户实体类
/// 注意:类的访问修饰符必须是:public,否则会出现错误:
/// 因其保护级别而不可访问。只能处理公共类型。
/// &/summary&
[Serializable]
public class UserModel
private long id = 1;
private string name = "name";
private int gender = 0;
private int age = 20;
private string userName = "userName";
private string password = "password";
public long Id
set { id = }
public string Name
set { name = }
public int Gender
set { gender = }
public int Age
set { age = }
public string UserName
get { return userN }
set { userName = }
public string Password
set { password = }
导出代码:
private void button1_Click(object sender, EventArgs e)
List&UserModel& list = new List&UserModel&();
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
list.Add(new UserModel());
using (System.IO.StringWriter stringWriter = new StringWriter(new StringBuilder()))
XmlSerializer xmlSerializer = new XmlSerializer(typeof(List&UserModel&));
xmlSerializer.Serialize(stringWriter, list);
FileStream fs = new FileStream("list_userModel.xml", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs);
sw.Write(stringWriter.ToString());
sw.Close();
fs.Close();
MessageBox.Show("写入文件成功!");
catch (System.Exception ex)
System.Console.WriteLine("====================================");
System.Console.WriteLine(ex.Message);
System.Console.WriteLine(ex.StackTrace);
生成的XML文件内容:
&?xml version="1.0" encoding="utf-16"?&
&ArrayOfUserModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&UserModel&
&Id&1&/Id&
&Name&name&/Name&
&Gender&0&/Gender&
&Age&20&/Age&
&UserName&userName&/UserName&
&Password&password&/Password&
&/UserModel&
&/ArrayOfUserModel&
完整实例代码点击此处。
更多关于C#相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家C#程序设计有所帮助。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具c#每分钟读取一次xml文件,具体怎么做?本人菜鸟。_百度知道
c#每分钟读取一次xml文件,具体怎么做?本人菜鸟。
pre t="code" l="csharp">&&&&nbsp.;&&&nbsp.;//执行读取XML&&&&&nbsp.Elapsed&void&&//1000毫秒*60=1分钟&&&nbsp.;&&&&&&&&nbsp.Timer();&&timer&&&&&e)&&&&&}&&&&&&=&&&&&nbsp.&&&{&&&&&nbsp,&new&&&S&&&&&&xmlDoc&&&&&&nbsp.;&nbsp.X&nbsp.;&&&60;&&&&&nbsp.Start();EnableF&&&&&&&nbsp.XmlDocument&&&System.;&//;&&&nbsp.T&Snew&&&&&nbsp.Timer&&&&=&&&public&&S&&nbsp.T&&nbsp.XmlDocument();&&&&{&nbsp.X&&&ElapsedEventArgs&&&&&&&1000&&nbsp,&&protected&&=&&&&nbsp.Interval&&&&e)&nbsp.Enabled&&EnableFunction(object&&&&&&+=&void&&Page_Load(object&&*&&=&EventArgs&&nbsp
采纳率:23%
怎么每分钟读取有办法,关键这么耗内存你要干嘛
用计时器,计时器间隔设置为1分钟
为您推荐:
其他类似问题
xml文件的相关知识
等待您来回答C# DataTable导出XML文件。
C# DataTable导出XML文件。
发布时间: 16:54:19
编辑:www.fx114.net
本篇文章主要介绍了"C# DataTable导出XML文件。",主要涉及到C# DataTable导出XML文件。方面的内容,对于C# DataTable导出XML文件。感兴趣的同学可以参考一下。
using System.Collections.G
using System.D
using System.D
using System.T
using System.Windows.F
using System.Text.RegularE
using System.IO;
namespace DataSetExportXML
public partial class Form1 : Form
public Form1()
InitializeComponent();
/// &summary&
/// 根节点名称
/// &/summary&
public string RootNodeName = string.E
/// &summary&
/// 数据节点名称
/// &/summary&
public string RecordNodeName = string.E
//构造默认数据DataTable
private DataTable Database = new DataTable();
public DataTable InitiateData()
this.Database.Columns.Add(new DataColumn(&Product&, typeof(System.String)));
this.Database.Columns.Add(new DataColumn(&Price&, typeof(System.Double)));
this.Database.Columns.Add(new DataColumn(&Amount&, typeof(System.Decimal)));
this.Database.Columns.Add(new DataColumn(&Total&, typeof(System.Decimal), &Price*Amount&));
// 添加示例数据
this.Database.Rows.Add(new object[] { &Product1&, 8.50, 125 });
this.Database.Rows.Add(new object[] { &Product2&, 599.00, 2 });
this.Database.Rows.Add(new object[] { &Product3&, 125.36, 6 });
this.Database.Rows.Add(new object[] { &Product4&, 580.00, 1 });
this.Database.Rows.Add(new object[] { &Product5&, 0.90, 200 });
this.Database.Rows.Add(new object[] { &Product6&, 56.17, 36 });
/// &summary&
/// 导出路径是否合法
/// &/summary&
/// &param name=&path&&&/param&
/// &returns&&/returns&
public static bool CheckPath(string path)
string pattern = @&^[a-zA-Z]:(((\\(?! )[^/:*?&&\&&|\\]+)+\\?)|(\\)?)\s*$&;
Regex regex = new Regex(pattern);
return regex.IsMatch(path);
/// &summary&
/// 检查输入名称是否合法
/// &/summary&
/// &param name=&str&&&/param&
public bool CheckValue(string str)
if (!string.IsNullOrEmpty(this.textBox1.Text))
if (!Regex.IsMatch(this.textBox1.Text, @&^(?([0-9])(?!)|([^\W]*))$&))
errorProvider1.SetError(this.textBox1, &1、根节点名称不能用数字开头\r\n2、名称只能包含字母、数字、下划线和汉字&);
if (!string.IsNullOrEmpty(this.textBox2.Text))
if (!Regex.IsMatch(this.textBox2.Text, @&^(?([0-9])(?!)|([^\W]*))$&))
errorProvider1.SetError(this.textBox2, &1、数据节点名称不能用数字开头\r\n2、名称只能包含字母、数字、下划线和汉字&);
private void Form1_Load(object sender, EventArgs e)
InitiateData();
errorProvider1.BlinkRate = 0;
errorProvider1.BlinkStyle = 0;
private void textBox1_TextChanged(object sender, EventArgs e)
errorProvider1.Clear();
if (CheckValue(textBox1.Text))
RootNodeName = textBox1.T
textBox1.SelectAll();
textBox1.Focus();
private void textBox2_TextChanged(object sender, EventArgs e)
errorProvider1.Clear();
if (CheckValue(textBox2.Text))
RecordNodeName = textBox2.T
textBox1.SelectAll();
textBox2.Focus();
private void button1_Click(object sender, EventArgs e)
DataTable dtExpXml = this.Database.Copy();
//默认数据节点名
dtExpXml.TableName = &Row&;
//默认根节点名
DataSet ds = new DataSet(&Root&);
ds.Tables.Add(dtExpXml);
if (!string.IsNullOrEmpty(RootNodeName)) //根节点名称赋值
ds.DataSetName = RootNodeN
if (!string.IsNullOrEmpty(RecordNodeName)) //数据节点名称赋值
dtExpXml.TableName = RecordNodeN
dtExpXml.AcceptChanges();
//导出路径
string strFilePath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) + &\\导出XML&
+ Guid.NewGuid().ToString() + &.xml&;
//生成数据文本
MemoryStream ms = new MemoryStream();
dtExpXml.WriteXml(ms);
string result = &&?xml version=\&1.0\& encoding=\&UTF-8\&?&\r\n& + Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
ms.Dispose();
//保存到输出路径
FileStream fs = new System.IO.FileStream(strFilePath, System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
StreamWriter sw = new System.IO.StreamWriter(fs);
sw.WriteLine(result);
sw.Flush();
sw.Close();
fs.Close();
MessageBox.Show(&文件导出完成,请查阅:& + Environment.NewLine + strFilePath);
一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!
二、互相尊重,对自己的言论和行为负责。
本文标题:
本页链接:Service Unavailable
欢迎浏览我们的网站,系统可能正在更新中,请稍候片刻。
现在是:,正在重新连接中...

我要回帖

更多关于 画工程图用什么软件 的文章

 

随机推荐