不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C# XML序列化/反序列化类DataContractSerializer使用示例
编辑:dnawo 日期:2013-05-04
复制内容到剪贴板 程序代码
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//序列化
Person person = new Person() { Name = "dnawo", Age = 100 };
string xml = Serialize(person);
Console.WriteLine(xml);
//反序列化
person = Deserialize<Person>(xml);
Console.WriteLine(person.Name);
Console.ReadKey();
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static string Serialize(object o)
{
return Serialize(o, new UTF8Encoding(false));
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="o"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static string Serialize(object o, Encoding encode)
{
string result = string.Empty;
using (MemoryStream output = new MemoryStream())
{
DataContractSerializer serializer = new DataContractSerializer(o.GetType());
serializer.WriteObject(output, o);
result = encode.GetString(output.ToArray());
}
return result;
}
/// <summary>
/// 反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="str"></param>
/// <returns></returns>
public static T Deserialize<T>(string str) where T : class
{
return Deserialize<T>(str, new UTF8Encoding(false));
}
/// <summary>
/// 反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="str"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static T Deserialize<T>(string str, Encoding encode) where T : class
{
T result = null;
using (MemoryStream input = new MemoryStream(encode.GetBytes(str)))
{
DataContractSerializer serializer = new DataContractSerializer(typeof(T));
result = serializer.ReadObject(input) as T;
}
return result;
}
}
/// <summary>
/// 测试类
/// </summary>
[DataContract(Name="per")]
public class Person
{
[DataMember(Name="na")]
public string Name { get; set; }
[DataMember(Name="ag")]
public int Age { get; set; }
}
}
using System.IO;
using System.Runtime.Serialization;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//序列化
Person person = new Person() { Name = "dnawo", Age = 100 };
string xml = Serialize(person);
Console.WriteLine(xml);
//反序列化
person = Deserialize<Person>(xml);
Console.WriteLine(person.Name);
Console.ReadKey();
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="o"></param>
/// <returns></returns>
public static string Serialize(object o)
{
return Serialize(o, new UTF8Encoding(false));
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="o"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static string Serialize(object o, Encoding encode)
{
string result = string.Empty;
using (MemoryStream output = new MemoryStream())
{
DataContractSerializer serializer = new DataContractSerializer(o.GetType());
serializer.WriteObject(output, o);
result = encode.GetString(output.ToArray());
}
return result;
}
/// <summary>
/// 反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="str"></param>
/// <returns></returns>
public static T Deserialize<T>(string str) where T : class
{
return Deserialize<T>(str, new UTF8Encoding(false));
}
/// <summary>
/// 反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="str"></param>
/// <param name="encode"></param>
/// <returns></returns>
public static T Deserialize<T>(string str, Encoding encode) where T : class
{
T result = null;
using (MemoryStream input = new MemoryStream(encode.GetBytes(str)))
{
DataContractSerializer serializer = new DataContractSerializer(typeof(T));
result = serializer.ReadObject(input) as T;
}
return result;
}
}
/// <summary>
/// 测试类
/// </summary>
[DataContract(Name="per")]
public class Person
{
[DataMember(Name="na")]
public string Name { get; set; }
[DataMember(Name="ag")]
public int Age { get; set; }
}
}
运行结果:
引用内容
<per xmlns="http://schemas.datacontract.org/2004/07/ConsoleApplication1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><ag>100</ag><na>dnawo</na></per>
dnawo
dnawo
上一篇: C# XML序列化/反序列化类XmlSerializer使用示例
下一篇: 为什么SQL Server Select语句中Where不能使用列别名?
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
下一篇: 为什么SQL Server Select语句中Where不能使用列别名?
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
最新日志:
评论: 0 | 引用: 0 | 查看次数: 5320
发表评论
请登录后再发表评论!