Xml序列化和反序列化
2020-01-15 09:26
85 查看
今天做了2个例子,关于Xml序列化和反序列化.
操作的对象UserInfo,自定义的一个对象.
UserInfo:
[OptionalField] : 标识可以缺少某一字段.
[XmlElement] : 标识Xml节点
[XmlAttribute] : 标识Xml节点的属性
[XmlIgnore] : 序列化或反序列化不关联的字段.
Code
[XmlRoot]
public class UserInfo
{
[OptionalField]
List<User> _List = null;
public List<User> UserList
{
get { return _List; }
set { _List = value; }
}
}
[Serializable]
public class User
{
string id = String.Empty;
[XmlElement()]
public string Id
{
get { return id; }
set { id = value; }
}
string parentId = String.Empty;
[XmlElement()]
public string ParentId
{
get { return parentId; }
set { parentId = value; }
}
string code = String.Empty;
[XmlElement()]
public string Code
{
get { return code; }
set { code = value; }
}
}
序列化代码:this.List是一个我做的一个数据集合,存放的是User.
Code
using (TextWriter tr = new StreamWriter("XMLFile1.xml"))
{
UserInfo userinfo = new UserInfo();
userinfo.UserList = this.List as List<User>;
XmlSerializer xmlSerializer = new XmlSerializer(typeof(UserInfo));
xmlSerializer.Serialize(tr, userinfo);
tr.Close();
}
反序列化代码:
Code
using (TextReader tr = new StreamReader("XMLFile1.xml"))
{
UserInfo userinfo = new UserInfo();
XmlSerializer xmlSerializer = new XmlSerializer(typeof(UserInfo));
userinfo = xmlSerializer.Deserialize(tr) as UserInfo;
List = userinfo.UserList;
}
转载于:https://www.cnblogs.com/chinaicm/archive/2008/08/26/1276463.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- XML的序列化和反序列化
- 序列化与反序列化 - BinaryFormatter二进制(.dat)、SoapFormatter(.soap)、XmlSerializer(.xml)
- windows phone8.1:Xml,Json序列化和反序列化
- XML序列化和反序列化
- xml 序列化和反序列化
- (转) .NET对象的XML序列化和反序列化
- C# XML对象序列化、反序列化
- XML和实体类之间相互转换(序列化和反序列化)
- xml和对象直接的序列化和反序列化
- C# Json库 和 xml 序列化反序列化 存在的问题
- C#的序列化和反序列化 TEST -XML
- XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置
- XML和实体类之间相互转换(序列化和反序列化)
- XML的序列化和反序列化 详细介绍
- Xml序列化和反序列化
- 采用XSTREAM开源组件做xml的序列化和反序列化
- 【C#】xml序列化及反序列化
- XML序列化和反序列化
- c# XML和实体类之间相互转换(序列化和反序列化)
- Xml序列化和反序列化对象-使用MemoryStream-实践