序列化: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();
}
}
解决方案 »
- 开第二贴共100分继续问,子线程下调用WebBrowser的问题
- 求一个c#生成图片的组件
- 谁有Carlos H. Perez所写的那个outlookbar共享下
- 问个正则 关于抓取tag间内容的
- 怎么用正则表达式提取邮件主题内容呀?
- 求个正则表达式的写法
- MSMQ C#.net 接收 从vb6.0发送的 MSMQ 问题,大人请进!!!
- 怎么样从Excel的第二行开始读入数据?拜求各位了!!
- treeview如何判断一个结点下面是否还有子结点?
- ● 请教:如何在TabControl选项卡间切换时,触发其他事件!谢谢!
- 读资源文件错误
- 怎么我的两个问题都没人解答?谁能详细说一下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;
}的声明