序列化:using System;
using System.Xml;
using System.Collections;
using System.IO;
using System.Xml.Serialization;///ÔÚ±¾ÀýÖУ¬¿É½«Ò»¸ö¼òµ¥½á¹¹Ê¹ÓÃXmlÌṩµÄÐòÁл¯·½Ê½Éú³ÉÒ»¸öxmlÎĵµ
[SerializableAttribute]
public class Project
{
public string m_Name;
public string m_Desc;
public double m_TeamStrength;
public Test tt;
}
[SerializableAttribute]
public class Test
{
public string test_str1;
public string test_str2;
}public class XmlSerializerTest
{
static void Main()
{
Project aPro = new Project();
aPro.m_Name = "My Project";
aPro.m_Desc = "Some Description";
aPro.m_TeamStrength = 5;
Test t = new Test();
t.test_str1 = "test1";
t.test_str2 = "test2";
aPro.tt = t;
FileStream OutPutFS = new FileStream(@"2.xml",FileMode.Append);
XmlSerializer ProjSerializer = new XmlSerializer(aPro.GetType());
ProjSerializer.Serialize(OutPutFS,aPro);
OutPutFS.Close();
}
}
using System.Xml;
using System.Collections;
using System.IO;
using System.Xml.Serialization;///ÔÚ±¾ÀýÖУ¬¿É½«Ò»¸ö¼òµ¥½á¹¹Ê¹ÓÃXmlÌṩµÄÐòÁл¯·½Ê½Éú³ÉÒ»¸öxmlÎĵµ
[SerializableAttribute]
public class Project
{
public string m_Name;
public string m_Desc;
public double m_TeamStrength;
public Test tt;
}
[SerializableAttribute]
public class Test
{
public string test_str1;
public string test_str2;
}public class XmlSerializerTest
{
static void Main()
{
Project aPro = new Project();
aPro.m_Name = "My Project";
aPro.m_Desc = "Some Description";
aPro.m_TeamStrength = 5;
Test t = new Test();
t.test_str1 = "test1";
t.test_str2 = "test2";
aPro.tt = t;
FileStream OutPutFS = new FileStream(@"2.xml",FileMode.Append);
XmlSerializer ProjSerializer = new XmlSerializer(aPro.GetType());
ProjSerializer.Serialize(OutPutFS,aPro);
OutPutFS.Close();
}
}
解决方案 »
- 想在C#里面显示visio的菜单,查帮助需要用IOleInPlaceFrame,如何实现?
- catch (Exception ex)
- C#!!!!!高分求解!!!!!!!!!急
- 在vs2005中关闭Word出现警告信息,应该如何写关闭代码?
- C#中窗体继承之后DataWindow修改出错
- 跪求:::计算机网络论文:要求用英文:进者有分
- 用Delphi和asp.net开发windows application的优缺点!
- 求助一个设计经验的问题
- 求大神指教批量数据处理
- 关于如何判断局域网中的文件服务器(NetWare)上的某一文件是否被其它工作站打开?
- 读资源文件错误
- 怎么我的两个问题都没人解答?谁能详细说一下API 中PolyDraw在C#中的使用?
using System.IO;
using System.Xml;
using System.Xml.Serialization;[SerializableAttribute]
public class Project
{
public string m_Name;
public string m_Desc;
public double m_TeamStrength;
public Test tt;
}
[SerializableAttribute]
public class Test
{
public string test_str1;
public string test_str2;
}class XmlDeSerializer
{
static void Main()
{
Console.WriteLine("Started...");
XmlSerializer x = new XmlSerializer( typeof(Project) );
FileStream fs = new FileStream(@"2.xml", FileMode.Open);
XmlReader reader = new XmlTextReader(fs);
Project t;
t = (Project)x.Deserialize(reader); Console.WriteLine("Started...");
Console.WriteLine(t.m_Name);
Console.WriteLine(t.m_Desc);
Console.WriteLine(t.m_TeamStrength);
if(t.tt != null)
{
Console.WriteLine(t.tt.test_str1);
Console.WriteLine(t.tt.test_str2);
}
}
}
<Project xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<m_Name>My Project</m_Name>
<m_Desc>Some Description</m_Desc>
<m_TeamStrength>5</m_TeamStrength>
<tt>
<test_str1>test1</test_str1>
<test_str2>test2</test_str2>
</tt>
</Project>我直接写这么一个XML,然后开始反序列化?
如果可以这个XML有什么要求么?
没问题
不过,关键是你的xml要符合
要反序列化的对象的结构比如
你反序列化前
要
保证
你有这个对象
[SerializableAttribute]
public class Project
{
public string m_Name;
public string m_Desc;
public double m_TeamStrength;
public Test tt;
}
[SerializableAttribute]
public class Test
{
public string test_str1;
public string test_str2;
}的声明